java正则匹配语句中特定单词

Python049

java正则匹配语句中特定单词,第1张

使用正则表达式的 “零宽度正回顾后发断言“这个正则就是匹配以某个指定字符开头的字段,具体定义你可以去搜索一下,java代码如下:String target = "scoreboard objectives setdisplay sidebar R_HT_win"Pattern pattern = Pattern.compile("(?<=scoreboard objectives setdisplay sidebar\\s{1})\\w*")Matcher matcher = pattern.matcher(target)String result = nullif (matcher.find()){int startIndex = matcher.start()int endIndex = matcher.end()result = target.substring(startIndex,endIndex)}System.out.println(result)

^ 表示以它后面的表达式开头,

$ 表示以它前面的表达式结尾,

所以 ^first$只能匹配 first(前后没有其他字符)

如过你要从first century May中匹配first, 正则表达式直接用first就可以了

例子: 字符串Absl*dkHH-lkjHH=ldkHHld_kfjHHfas/dfHHfa=sldfZ

用 ^A.*Z$ 匹配整个字符串

用H{2}或HH可以匹配字符串中所有的 HH

public static void test2() {

String sp = "(不错|很好)(.*)(但是|就是|但|只是)"

// QRY#姓名#身份证号#亲友号码#身份证住址

String s1 = "课程很不错,礼仪是我们大家日常生活、工作不可或缺的事情。但是感觉学生上课不积极"

Pattern pa = Pattern.compile(sp)

Matcher ma = pa.matcher(s1)

if (ma.find()) {

System.out.println(ma.group(1))

System.out.println(ma.group(3))

}

System.out.println()

}

请参考