Java使用正则匹配

本文介绍了Java中正则表达式的使用,包括trim()方法去除头尾空白,使用正则匹配一个或多个空格,处理回车换行以及字符串匹配。通过示例展示了如何匹配、替换、查找和切割字符串,为Java字符串处理提供了实用技巧。
摘要由CSDN通过智能技术生成

整理一下正则表达式再Java中的使用

1.Java trim() 方法

删除头尾空白符的字符串。

public class Test {
    public static void main(String args[]) {
        String Str = new String("    www.runoob.com    ");
        System.out.print("原始值 :" );
        System.out.println( Str );

        System.out.print("删除头尾空白 :" );
        System.out.println( Str.trim() );
    }
}

==>原始值 :    www.runoob.com    
==>删除头尾空白 :www.runoob.com

2.匹配空格(一个或多个)

正则:String regEx = “[’ ']+”;

	// 匹配空格,可以替换成其它
    @Test
    public void test2() {
        String s ="a       b  a  a ";
        String regEx = "[' ']+";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(s);
        System.out.println(m.replaceAll("").trim());
    }

  ==>abaa

3.匹配回车换行

1.我一般都是直接切割,再对每一行进行处理
String[] allContent = description.split("\n");

// An highlighted block
var foo = 'bar';

4.匹配字符串

正则匹配字符串

   Pattern p = Pattern.compile(expression); // 正则表达式
   Matcher m = p.matcher(str); // 操作的字符串
   boolean b = m.matches(); //返回是否匹配的结果
   System.out.println(b);

   Pattern p = Pattern.compile(expression); // 正则表达式
   Matcher m = p.matcher(str); // 操作的字符串
   boolean b = m.lookingAt (); //返回是否匹配的结果
   System.out.println(b);

   Pattern p = Pattern.compile(expression); // 正则表达式
   Matcher m = p.matcher(str); // 操作的字符串
   boolean b = m.find (); //返回是否匹配的结果
   System.out.println(b);

切割字符串

Pattern pattern = Pattern.compile(expression); //正则表达式
                     String[] strs = pattern.split(str); //操作字符串 得到返回的字符串数组

替换字符串

   Pattern p = Pattern.compile(expression); // 正则表达式
   Matcher m = p.matcher(text); // 操作的字符串
   String s = m.replaceAll(str); //替换后的字符串

查找输出字符串

Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(text); // 操作的字符串
while (m.find()) {
	matcher.start() ;
	matcher.end();
	matcher.group(1);
  }

查找替换指定字符串

Pattern p = Pattern.compile(expression); // 正则表达式 
Matcher m = p.matcher(text); // 操作的字符串 
StringBuffer sb = new StringBuffer();
int i = 0;
while (m.find()) {
    m.appendReplacement(sb, str);
    i++; //字符串出现次数 
}
m.appendTail(sb); //从截取点将后面的字符串接上 
String s = sb.toString();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用正则表达式来校验端口号。以下是一个示例的Java代码,使用正则表达式来验证端口号是否合法: ```java import java.util.regex.Pattern; public class PortValidator { public static boolean isValidPort(String port) { // 正则表达式匹配规则:1-65535之间的数字 String pattern = "^[1-9]\\d{0,3}$|^[1-5]\\d{4}$|^[6][0-5][0-5][0-3][0-5]$"; return Pattern.matches(pattern, port); } public static void main(String[] args) { String port1 = "8080"; String port2 = "65536"; String port3 = "abc"; System.out.println(port1 + " is valid: " + isValidPort(port1)); System.out.println(port2 + " is valid: " + isValidPort(port2)); System.out.println(port3 + " is valid: " + isValidPort(port3)); } } ``` 在上面的代码中,`isValidPort`方法接受一个字符串参数 `port`,然后使用正则表达式进行匹配。如果端口号符合正则表达式的规则,则返回 `true`,否则返回 `false`。 正则表达式的规则解释如下: - `^[1-9]\\d{0,3}$`:匹配1-9999之间的数字。 - `^[1-5]\\d{4}$`:匹配10000-59999之间的数字。 - `^[6][0-5][0-5][0-3][0-5]$`:匹配60000-65535之间的数字。 在上面的示例中,我们分别对端口号 "8080"、"65536" 和 "abc" 进行了验证。输出结果如下: ``` 8080 is valid: true 65536 is valid: false abc is valid: false ``` 只有 "8080" 是合法的端口号,而 "65536" 和 "abc" 都是不合法的。你可以根据自己的需求自定义正则表达式来验证端口号的格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百世经纶『一页書』

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值