我想知道为什么以下正则表达式结果为TRUE:
var users = "TEST\nTEST2";
var user = "TEST5"
var position = users.search( user + "\n|$"); // result: 10
我想在user
中搜索users
。
有人可以解释一下结果吗?
答案 0 :(得分:3)
您的正则表达式结束于TEST5\n|$
,这意味着“TEST5\n
或字符串的结尾”:
找不到
TEST5\n
,但字符串的结尾是索引10(你的字符串有10个字符)。
我猜您正在寻找user + "(\\n|$)"
:
请注意,我使用反斜杠转义,因为在字符串文字中。它不会改变结果,但是 regex-way 写一个换行符。
答案 1 :(得分:0)
你可以使用积极的前瞻
user + "(?=\\n|$)"
这意味着user
后跟\n
或$