检查regex是在字符串的开头还是在特定字符之后开始

Check if regex starts at the beginning of the string or after specific character

本文关键字:字符 之后 开始 开头 regex 字符串 检查      更新时间:2023-09-26

我有一个正则表达式模式。我想检查它是否在字符串的开头、新行之后或空白之后匹配。

我还想确保它与字符串的末尾匹配,在新行或空白之后。

如何使这个条件成为"开始或空白"?我必须重复一遍吗

示例:

"疯狂的弗雷德里克买了许多非常精致的蛋白石珠宝"

s的搜索应该只匹配"珠宝"中的最后一个字符"s"。"精致"中的"s"不应该匹配。

这段代码是一个以T开头、以s结尾的正则表达式。现在,如果你想检查句子中的每个单词,请按空格分隔,然后根据你的要求使用正则表达式。

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegularExpression {
   public static void main(String[] args) {
   Pattern p = Pattern.compile("^(T).*[s]$");
   Matcher m = p.matcher("This is testingsd");
   System.out.println(m.matches());
   }
}

在JavaScript中,您可以使用字符'b,根据MDN的RegExp页面

匹配零宽度的单词边界,例如字母和空间

因此,为了在您的示例中匹配单词"珠宝"中的s,我将使用regex:

var regex = /s'b/g;

为了匹配每个以"y"结尾的单词,我可以使用

var regex = /'w*y'b/gi;

它会产生"疯狂,非常,很多"的结果。