使用正则表达式中的变量与$和^匹配字符串
Matching string using variable in regular expression with $ and ^
这可能是一个很容易回答的问题,但我还没有弄清楚什么是正确的方法。
我需要使用^ and $
通过正则表达式匹配文本,以便只匹配以该字符串开头和结尾的元素。然而,我需要能够使用一个变量来做到这一点:
var name // some variable
var re = new RegExp(name,"g");
因此,我想匹配(从开始到结束)完全包括我的变量name
的每个字符串,但我不想匹配在某个地方包含我的变量name
的字符串。
我该怎么做?
感谢
var strtomatch = "something";
var name = '^something$';
var re = new RegExp(name,"gi");
document.write(strtomatch.match(re));
i
用于忽略大小写。这只和单词"something"匹配,不会和somethingsese匹配。
如果你想在句子中间匹配它,你应该在你的代码中使用以下内容
var name = ' something ';
提醒,使用单词边界,
var name = '''bsomething''b';
工作示例
如果您想在字符串的开头或结尾匹配something
,请执行以下操作:
/^something|something$/
使用您的变量:
new RegExp("^" + name + "|" + name + "$");
编辑:对于您更新的问题,您希望name
变量是匹配的整个字符串,因此:
new RegExp("^" + name + "$"); // note: the "g" flag from your question
// is not needed if matching the whole string
但除非name
本身包含正则表达式,否则这是毫无意义的,因为尽管你可以说:
var strToTest = "something",
name = "something",
re = new RegExp("^" + name + "$");
if (re.test(strToTest)) {
// do something
}
你也可以说:
if (strToTest === name) {
// do something
}
编辑2:好吧,从您的评论中,您似乎在说正则表达式应该与测试字符串中任何地方出现的"something"作为离散词相匹配,所以:
"something else" // should match
"somethingelse" // should not match
"This is something else" // should match
"This is notsomethingelse" // should not match
"This is something" // should match
"This is something." // should match?
如果这是正确的,那么:
re = new RegExp("''b" + name + "''b");
您应该使用/'bsomething'b/
。CCD_ 9是为了匹配单词边界。
"A sentence using something".match(/'bsomething'b/g);
相关文章:
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 从字符串中提取年份的Javascript正则表达式
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- 如何将正则表达式包含到字符串数组中
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 使用正则表达式反转字符串中的元音
- 如何分割由JavaScript中使用正则表达式的多个部分组成的字符串
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 删除两个字符串正则表达式之间的所有内容
- Javascript,字符串正则表达式匹配
- 字符串正则表达式模式.replace(/{0}/, “$0.00”) 不起作用
- Javascript:字符串正则表达式
- 如何在JavaScript中子字符串正则表达式
- 匹配大写或小写字符串正则表达式
- 逗号和空格分隔的数字和连字符分隔的字符串正则表达式
- 解析CGI查询字符串正则表达式
- 分析已知键的字符串正则表达式,但保留分隔符
- 在一组字符串中重新排列一个字符串 - 正则表达式
- 从字符串正则表达式中提取多个值