正则表达式不匹配某些字符串!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式不匹配某些字符串!相关的知识,希望对你有一定的参考价值。

字符串:"expnihao nihaoexp nihaoexpnihao nihao exp haoni yumen"
用正则不匹配含有exp的字符,比配出来的结果是:nihao,haoni,yumen
注意我不要写死的,可能字符串有很多就是含有exp的都不匹配。

参考技术A

不用正则行不?

<html>
<head>
<!--
    将此内容保存为 html 文件,浏览器允许运行脚本进行测试。
-->

<script type="text/javascript">

function check()

    var str, str2;
    var ar, ar2;

    str = document.getElementById("txtInput").value;
    ar  = str.split(" ");
    ar2 = new Array();

    for (var i = 0; i < ar.length; ++i)
    
        if (ar[i].match("exp") != null)
            continue;

        ar2.push(ar[i]);
    

    if (ar2.length > 0)
    
        alert("提取到:\\n" + ar2.join("\\n"));
    
    else
    
        alert("没有提取到内容。");
    


</script>
</head>

<body>
输入:<br>
<textarea id="txtInput" cols ="50" rows = "10">
expnihao nihaoexp nihaoexpnihao nihao exp haoni yumen
</textarea>
<br>

<button type="button" onclick="check()">提取</button>

</form>

</body>
</html>

追问

我要的是表达式不是for循环判断

参考技术B 非要用正则表达式么 参考技术C 这个 if else 就可以 呀

正则表达式 中,如何匹配字符串中的 ''

‘ \ ‘ 作为特别功能的转义字符,在正则表达式有举足轻重的重要

‘ \ ‘ 在字符串中也具有让某些普通字符变得不普通的能力,比如 ‘ \t ‘, ‘ \n ‘ 这些众所周知的;当 ‘\’ + 某个字符 不具有特殊功能时,加不加其实都没差别

var str = ‘he\tllo‘;
console.log(str);                // he    llo

 如何匹配字符串中的 ‘ \ ‘ 呢?( 单个 ‘\‘ 其实是无法被匹配的 )

1、确定真实的字符串 

2、写正则表达式

举个栗子:

 1 var str = ‘he\llo‘;
 2 console.log(str);                // hello
 3 
 4 var reg = /he\\llo/;
 5 console.log( reg.exec(str) );    // null
 6 
 7 reg = /hello/;
 8 console.log( reg.exec(str) );    
 9 reg = new RegExp(‘hello‘);
10 console.log( reg.exec(str) );    // ["hello", index: 0, input: "hello"]
11 
12 reg = /\h\e\l\l\o/;
13 console.log( reg.exec(str) );    // ["hello", index: 0, input: "hello"]
14 
15 
16 
17 str = ‘he\\llo‘;
18 console.log(str);                // he\llo
19 
20 reg = /he\\llo/;
21 console.log( reg.exec(str) );    
22 reg = new RegExp(‘he\\\\llo‘);
23 console.log( reg.exec(str) );    // ["he\llo", index: 0, input: "he\llo"]

 

以上是关于正则表达式不匹配某些字符串!的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式匹配不以某些字符开头或结尾的单词?

正则表达式匹配捕获组前面没有某些字符

R中的正则表达式:匹配所有内容,但不匹配“某些字符串”[重复]

php 正则表达式匹配不以某些字符开始的字符串

正则表达式 选中以某些字符开始,某些字符结尾的字符串

用于提取要匹配的某些部分的正则表达式