我正在尝试编写正则表达式以匹配这些确切的字符串:
我不是在寻找一个字符。我正在寻找一个确切的字符串,并试图了解正则表达式的工作方式。
我已经阅读了MDN文档和Eloquent JS中的章节,并在堆栈溢出对话中进行了搜索。
我知道方括号中的任何内容都代表一个字符集,并且这些字符不必按顺序出现。
我尝试了/[i\'m] in/
在我的代码中有效的方法,但是当我运行时:
/[i\'m] in/.exec('i\'m in')
评估为[“ m in”]
我还尝试了/i\'m in/
哪些在我的代码中以及何时但在我运行时不起作用:
/i\'m in/.exec('i\'m in')
评估为[“我在”]
不知道为什么会这样。任何指针或照明都很好。
您的正则表达式仅匹配4个字符,而完整字符串的长度为6个字符。
/[i\'m] in/.exec('i\'m in')
正则表达式-> [i\'m] in
它将匹配4个字符。第一个字符可以是i
或\'
或m
。第二个字符是a space
,第三个字符是i
,第四个字符是n
。您不必使用\
用于'
在正则表达式。但是您将需要在JS字符串中使用\
for '
。
字符串->'i\'m in'
m in
是正则表达式匹配的字符串。它还可以匹配以下字符串:i in
,' in
如果要匹配字符串的所有6个字符,则可以使用如下所示的内容:
/i'm in/.exec('i\'m in')
而且,如果您想进行匹配,请使用or
运算符。
/i'm (in|out)/.exec('i\'m out')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句