简单地检查一个字符串是否包含某个单词(例如‘ Test’)的正则表达式是什么?我已经做了一些谷歌,但不能得到这样一个正则表达式的直接例子。这是一个构建脚本,但与任何特定的编程语言没有关系。
只是不要固定你的模式:
/Test/
上面的正则表达式将检查文本字符串“ Test”是否在其中的某个位置。
假设采用常规的 PCRE 风格的正则表达式:
如果你想检查它作为一个 一个完整的单词,它是 \bTest\b,如果需要的话,带有适当的不区分大小写的标志和你的编程语言的分隔符。\b表示一个“词边界”,即字符之间的一个点,在这个点上一个词可以被认为是开始或结束。例如,由于空格是用来分隔单词的,所以在空格的两边都会有一个单词边界。
\bTest\b
\b
如果你想检查它作为 这个词的一部分,它只是 Test,再次与适当的标志大小写不敏感。注意,在这种情况下,专用的“ substring”方法通常更快,因为它消除了解析正则表达式的开销。
Test
我迟到了几年,但为什么不这样呢?
[Tt][Ee][Ss][Tt]
根据正则表达式的风格,正则表达式功能的确切细节取决于语言。
我将给出 javascript 的例子。
如果你不在乎零安全..。
str = "blah" str.match(/a/) // [ 'a', index: 2, input: 'blah', groups: undefined ]
区分大小写
/test/.test("does this string contain the word testtesttest") // true
不区分大小写
/test/i.test("Test")
不区分大小写,随便什么词
/\b\w+\b/i.test("bLAH") // true
对于 Java,使用以下命令: ^.*Test.*$。
^.*Test.*$
它读作: 字符串开始(^) ,然后任何字符(.)可以重复零次或更多次(*) ,然后 Test,然后再次任何字符(.)重复零次或更多次(*)和字符串结束($)。
^
.
*
$