我在正则表达式方面做得越来越好,但我想出了一些超出我目前能力的事情。
我想构建一个函数来测试(返回 true 或 false)来测试是否在字符串中找到单词。但如果这个单词是在另一个单词中找到的,我不想有一个积极的匹配。我还想建立检查复数的可能性。
以下是我期望得到的结果的一些示例:
要查找的单词: "bar"
“要搜索的字符串”//它应该返回什么
“foo 酒吧”//真
“富吧。” //真的
“福吧!” //true(“bar”之前或之后的任何其他标点符号也为 true)
“foo 酒吧。” //真的
“foo裸露。” //true(即使bares与bars有不同的含义,我可以接受这个返回true,因为我需要检查以“es”复数的单词,并且我不希望构建一个正则表达式来知道哪些单词复数形式为“s”,其中“es”)
“我的名字是巴特辛普森”//假(酒吧实际上是“巴特”的一部分)
“巴特·辛普森去了酒吧。” //真的
我将使用 javascript/jquery 来检查匹配项
非常感谢你的帮助!
var rgx = new RegExp('\\b' + word + '(?:es|s)?\\b');
rgx.test(string);
这将返回true
对于您在请求中指定的所有字符串。\b
代表一个“单词边界”,我相信它是其中的任何字符\W
(包括句号和感叹号)以及字符串的开头或结尾。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)