检查正则表达式是从字符串的开头还是特定字符后开始

时间:2015-11-22 18:39:57

标签: javascript regex match

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

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

如何将此条件设为“开始或空格”?我必须重复自己

示例:

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

s的搜索应该只匹配“jewels”中的最后一个字符“s”。 “精致”中的“s”不应该匹配。

2 个答案:

答案 0 :(得分:0)

此代码是一个以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());
   }
}

答案 1 :(得分:0)

在JavaScript中,您可以使用符合MDN's RegExp page

的字符\b
  

匹配零宽度字边界,例如字母和a之间   空间。

因此,为了匹配示例中“jewels”一词中的s,我会使用正则表达式:

var regex = /s\b/g;

要匹配以“y”结尾的每个单词,我可以使用

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

它会产生“Crazy,very,many”的结果。