正则表达式中 (?=.*[a-z]) 什么意思?

如题所述

意思是断言,只匹配一个位置。

例如:

想匹配一个“人”字,但是只想匹配中国人的人字,不想匹配法国人的人,就可以用一下表达式

(?=中国)人

所以,楼主的表达式与其他通配符连用才能起到效果。

(?=.*[a-z])\d+

这个就表示 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字。(?<=exp)这个是放后面的。

扩展资料:

正则表达式的特点是:

1、灵活性、逻辑性和功能性非常强;

2、可以迅速地用极简单的方式达到字符串的复杂控制。

3、对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-06

意思是断言,只匹配一个位置。

例如:

想匹配一个“人”字,但是只想匹配中国人的人字,不想匹配法国人的人,就可以用一下表达式

(?=中国)人

所以,楼主的表达式与其他通配符连用才能起到效果。

(?=.*[a-z])\d+

这个就表示 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字。

(?<=exp)这个是放后面的。

扩展资料:

正则表达式的其他模式修饰符的用法

1.(?=a):

console.log("我是中国人".replace(/我是(?=中国)/, "rr"))

打印出:rr中国人    (匹配的是中国前面的'我是')

2.(?!a):

console.log("我是中国人".replace(/(?!中国)/, "rr"))

打印出:rr我是中国人  

3.(?:a):

console.log("我是中国人".replace(/(?:中国)/, "rr"))

打印出:我是rr人

4..(?<=a):

console.log("我是中国人".replace(/(?<=中国)人/, "rr"))

打印出:我是中国rr

5.(?<!a):

console.log("我是中国人".replace(/(?<!中国)/, "rr"))

打印出:rr我是中国人

本回答被网友采纳
第2个回答  推荐于2017-04-25
这个叫断言,只匹配一个位置
比如,你想匹配一个“人”字,但是你只想匹配中国人的人字,不想匹配法国人的人
就可以用一下表达式
(?=中国)人
所以,楼主的表达式与其他通配符连用才能起到效果。
(?=.*[a-z])\d+
这个就表示 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字。

(?<=exp)这个是放后面的。

语言表述能力不行啊,不知道楼主看没看懂,有什么疑问请继续追问本回答被提问者和网友采纳
第3个回答  2019-09-22

这篇文章的作者是:deerchao

文章链接:正则表达式30分钟入门教程


/*===============分         割        线=================*/


还有一篇深度好文:

作者:BattleHeart

文章链接:浅析正则表达式—(原理篇)

第4个回答  2016-06-13
更好的解释,搜cllgeek
相似回答