We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019-10-12 00:32:54
在线工具
匹配A字符与B字符之间的字符(包含AB)
A.*?B
匹配A字符与B字符之间的字符(包含A不包含B)
A.*?(?=B)
匹配A字符与B字符之间的字符(不包含AB)
(?<=A).*?(?=B)
资料
### 正则中的 ?= 、?<= 、?!、 ?<!= 以前看正则的时候遇到?= 、?<=,在网上搜索出来名字有称之为正向预查、负向预查的,有称之为前瞻、后顾的,看用法的话大概知道是怎么回事,但就是记不住啊,对于我来说,这名称太抽象(鬼扯)了。 今天看书看到作者讲到正则,感觉自己又有所领悟,翻出来重新理解了一下。 如今我的理解是这样的,我将<记为方向,包含这个箭头说明是放在目标内容左边的: 1. ```?=``` : 询问后面跟着的东西是否等于这个 /b(?=a)/.test('bab') 2. ```?<=``` : 询问是否以这个东西开头 /(?<=a)b/.test('ab') 3. ```?!``` : 询问后面跟着的东西是否不是这个 /b(?!a)/.test('bb') 4. ```?<!=``` :询问是否不是以这个东西开头 /(?<!=a)b/.test('bb') 其实按照我这样理解的话,```?!``` 后面要是加上```=```就更加符合我的心理预期了,最后还有一点,匹配得到的结果并不包含 ?=、?<=、?!和?<!=里面的内容 ### 顺便记录一下 javascript的replace方法的第二个参数,如果是传入的字符串的话,有几个特殊的东西。 1. ```$&`` : 表示匹配到的结果。'javascript'.replace(/script/, '$&$&') -> ‘javascriptscript’ 2. ```$\```` : 表示匹配到的结果的左边或者说前面的那一堆字符串。 'javascript'.replace(/script/, '$& 不是 $`') -> "javascript 不是 java" 3. ```$'``` : 表示匹配到的结果的右边或者说后面的那一堆字符串。 '我是猪'.replace(/我是/, "$&$'") -> "我是猪猪" 4. ```$$``` : 表示$字符。 作者:不过从心而已 链接:https://www.jianshu.com/p/661af704198c 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
2019-10-12 00:32:54
在线工具
匹配A字符与B字符之间的字符(包含AB)
A.*?B
匹配A字符与B字符之间的字符(包含A不包含B)
A.*?(?=B)
匹配A字符与B字符之间的字符(不包含AB)
(?<=A).*?(?=B)
The text was updated successfully, but these errors were encountered: