javascript核心技术(五十八)正则表达式(十一)找包含/不包含指定字符串的字符串

[复制链接]
查看: 2906|回复: 31
发表于 2023-1-30 15:22:29 | 显示全部楼层 | 阅读模式
关于预查的原理非常难懂,总的来说,表达式在解析第一个匹配之前,先用预查表达式去匹配,如果匹配到则继续匹配,否则不再执行匹配。
好吧,正则这个东西,描述起来实在费劲,就当我没说,还是直接用例子说明吧。

一、前瞻/正向肯定预查
<!DOCTYPE html>
<html>

<head>
        <title>肯定预查与否定预查</title>
</head>

<body>
        <script type="text/javascript">
        // 前瞻肯定预查
        //找出数组成员中包含teamczyx1的成员
        var arr = [
                'teamczyx1teamczyx2teamczyx3',
                'teamczyx4teamczyx1teamczyx3',
                'teamczyx2teamczyx3teamczyx4',
                'teamczyx3teamczyx4teamczyx5',
        ];
        var pattern = /^.*(?=teamczyx1).*$/i;
        for(var i in arr){
                var res = pattern.test(arr); //返回是true false
                if(res){
                        //格式正确
[i]                        console.log(arr);
                }
        }
        </script>
</body>
</html>

javascript核心技术(五十八)正则表达式(十一)找包含/不包含指定字符串的字符串



原理不太容易说清楚,记住语法即可,如果是要在很多字符串中间寻找包含某个字符串的字符串就使用以下语法

  1. ^.*(?=包含的字符串).*$
复制代码
如果是要找在开头包含指定字符串的字符串,就用下面的语法
  1. ^(?=包含的字符串).*$
复制代码
如果是要找在结尾包含指定字符串的字符串,就用下面的语法
  1. ^.*(?=包含的字符串)$
复制代码

二、前瞻/正向否预查

<!DOCTYPE html>
<html>

<head>
        <title>肯定预查与否定预查</title>
</head>

<body>
        <script type="text/javascript">
        // 前瞻否定预查
        //找出数组成员中不包含teamczyx1的成员
        var arr = [
                'teamczyx1teamczyx2teamczyx3',
                'teamczyx4teamczyx1teamczyx3',
                'teamczyx2teamczyx3teamczyx4',
                'teamczyx3teamczyx4teamczyx5',
        ];

        var pattern = /^(?!.*?teamczyx1).*$/i;//中间不包含
        // var pattern = /^(?!teamczyx1).*$/i;//开头不包含
        // var pattern = /^.*?(?!teamczyx1)$/i;//结尾不包含
        for(var i in arr){
                var res = pattern.test(arr[i]); //返回是true false
                if(res){
                        //格式正确
                        console.log(arr[i]);
                }
        }        
        </script>
</body>
</html>
javascript核心技术(五十八)正则表达式(十一)找包含/不包含指定字符串的字符串

原理不太容易说清楚,记住语法即可,如果是要在很多字符串中间寻找不包含某个字符串的字符串就使用以下语法
  1. /^(?!.*?不包含的字符串).*$/i
复制代码
如果是要找在开头不包含指定字符串的字符串,就用下面的语法
  1. /^(?!不包含的字符串).*$/i
复制代码
如果是要找在结尾不包含指定字符串的字符串,就用下面的语法
  1. /^.*?(?!不包含的字符串)$/i
复制代码


易博软件介绍

0

主题

7

帖子

4

积分

营销入门

Rank: 2

积分
4
发表于 2023-2-24 08:22:49 | 显示全部楼层
看了你写的东西,心里有些感触,谢了
发表于 2023-3-7 04:38:40 | 显示全部楼层
谢谢你说的东西,相信我们一定也能像你一样成功~~~~~~~~~~~~
发表于 2023-3-17 21:27:49 | 显示全部楼层
谢了多交流才会进步吗

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-25 19:38:36 | 显示全部楼层
写的是不是用C++语言写的啊?我学的是VB的,不太看得懂!

0

主题

18

帖子

10

积分

营销入门

Rank: 2

积分
10
发表于 2023-4-1 11:02:43 | 显示全部楼层
不错,这篇文章

0

主题

9

帖子

5

积分

营销入门

Rank: 2

积分
5
发表于 2023-4-6 05:06:18 | 显示全部楼层
看过了  依然经典~~
发表于 2023-4-11 13:08:17 | 显示全部楼层
无话可说

1

主题

181

帖子

93

积分

年费会员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
93

年费会员

发表于 2023-4-15 22:01:12 | 显示全部楼层
我想我现在知道自已该做什么了,受益匪浅,谢谢

0

主题

12

帖子

7

积分

营销入门

Rank: 2

积分
7
发表于 2023-4-21 05:14:54 | 显示全部楼层
说的很有道理,我想我真的受益菲浅
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表