[英]find and remove substring in string using regexp in javascript
[英]How to find occurence of multiple strings in a given string using javascript RegExp()
我想检查给定字符串中多个字符串的可用性( 不使用循环 )。
喜欢
my_string = "How to find occurence of multiple sting in a given string using javascript RegExp";
// search operated on this string
// having a-z (lower case) , '_' , 0-9 , and space
// following are the strings wanted to search .( having a-z , 0-9 , and '_')
search_str[0]="How";
search_str[1]="javascript";
search_str[2]="sting";
search_str[3]="multiple";
是否有任何可用的正则表达式?
更新:我要丢失什么
在答案中,我发现这是解决上述问题的工具
if (/^(?=.*\bHow\b)(?=.*\bjavascript\b)(?=.*\bsting\b)(?=.*\bmultiple\b)/.test(subject)) {
// Successful match
}
但是在这种情况下,它不起作用。
m_str="_3_5_1_13_10_11_";
search_str[0]='3';
search_str[1]='1';
tst=new RegExp("^(?=.*\\b_"+search_str[0]+"_\\b)(?=.*\\b_"+search_str[1]+"_\\b)");
if(tst.test(m_str)) alert('fooooo'); else alert('wrong');
if (/^(?=.*\bHow\b)(?=.*\bjavascript\b)(?=.*\bsting\b)(?=.*\bmultiple\b)/.test(subject)) {
// Successful match
}
假设您的字符串不包含换行符。 如果是这样,则需要更改所有.
s到[\\s\\S]
。
我使用单词边界锚来确保Howard
或resting
不会意外地提供匹配项。 如果确实要允许这样做,请删除\\b
。
说明:
(?=...)
是一个前瞻性断言:它在字符串中向前检查以检查封闭的正则表达式是否可以在当前位置匹配,而无需实际消耗匹配字符。 因此,连续的超前工作就像是一系列与逻辑&&
运算符组合在一起的正则表达式(由^
锚定到字符串的开头)一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.