正则表达式:指定“空格或字符串开头”和“空格或字符串结尾”

匿名一

想象一下,您正在尝试模式匹配“ stackoverflow”。

您需要以下内容:

 this is stackoverflow and it rocks [MATCH]

 stackoverflow is the best [MATCH]

 i love stackoverflow [MATCH]

 typostackoverflow rules [NO MATCH]

 i love stackoverflowtypo [NO MATCH]

我知道如何解析出stackoverflow,如果它在两个站点上都有空格,则使用:

/\s(stackoverflow)\s/

与它在字符串开头或结尾处相同:

/^(stackoverflow)\s/

/\s(stackoverflow)$/

但是,如何使用正则表达式指定“空格或字符串结尾”和“空格或字符串开头”?

雅各布·艾格斯(Jacob Eggers)

您可以使用以下任何一种:

\b      #A word break and will work for both spaces and end of lines.
(^|\s)  #the | means or. () is a capturing group. 


/\b(stackoverflow)\b/

另外,如果您不想在比赛中加入空格,则可以使用向前/向后搜索。

(?<=\s|^)         #to look behind the match
(stackoverflow)   #the string you want. () optional
(?=\s|$)          #to look ahead.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP正则表达式从字符串的开头和结尾去除逗号和空格

字母数字和空格正则表达式,但字符串的开头和结尾没有空格

正则表达式匹配不以空格开头或结尾的字符串

是否不允许使用正则表达式来表示“字符串开头和结尾之间的空格”以及字符串中的特殊字符?

如何通过空格分隔字符串,并使用正则表达式忽略开头和结尾的空格成单词数组?

正则表达式匹配不以空格开头,包含或结尾,并且不为空字符串

正则表达式允许空格并限制非空字符串开头的特殊字符

如何在Java中构建正则表达式以检测空格或字符串结尾?

正则表达式提取单词并以字符串中的空格结尾

正则表达式匹配以字符开头和结尾的字符串

使用正则表达式查找以字符开头和结尾的字符串组

正则表达式可从字符串的开头和结尾删除某些字符

使用正则表达式删除字符串开头的空格会产生 null Java

正则表达式查找以#开头直到空格的字符串

Python正则表达式匹配字符串或空格的开头

字符串替换正则表达式,开头是空格

正则表达式可删除以特定字符串开头的行中的空格

正则表达式匹配字符串中的单词,没有开始和结尾空格

如何使用正则表达式查找和替换字符串的开头和结尾

如何生成完全不包含空格的正则表达式,即使在字符串的开头或结尾也不包含任何空格

捕获该字符串的正则表达式包含字母数字、下划线和空格,但以字母开头

Javascript正则表达式删除开头和结尾的特定字符串

多行模式下字符串开头和结尾的正则表达式

正则表达式查找最短字符串的开头和结尾的单词

不以序列开头和结尾的字符串的正则表达式

Python-正则表达式搜索以给定文本开头和结尾的字符串

正则表达式剥离字符串的开头和结尾

正则表达式确保字符串以数字开头和结尾

正则表达式以匹配Java中字符串的开头和结尾