比如说替换除了 s 和 b 以外所有的小写字母,用什么正则表达式
尽量简单一点,虽然 /[ac-rt-z]/ 可以,但是显然不够直观而且太长了
我主要是想知道表示"除...以外的..."有没有通用一点的形式
1
binux 2019-08-22 01:42:45 +08:00
/[^sb]/
|
2
muzhidianzi 2019-08-22 01:49:09 +08:00 via Android
第一眼看见以为一楼在骂人
|
3
0ZXYDDu796nVCFxq 2019-08-22 02:16:42 +08:00 via Android
@binux #1 这个包括了大写字母数字符号等等
|
4
gIrl1990 2019-08-22 02:27:20 +08:00
除了 s 和 b 以外所有的小写字母: /[a-z]&&[^sb]/
|
5
geelaw 2019-08-22 03:14:48 +08:00 via iPhone 1
实用正则表达式库里若带有零宽断言则很好写。计算理论意义下的正则表达式则没有什么明显的简便写法。
|
6
weakish 2019-08-22 06:32:39 +08:00
|
7
weixiangzhe 2019-08-22 06:43:30 +08:00 via iPhone
貌似没有楼主想要的 mark 一下
|
8
mskf OP @weakish 哈哈,这有啥好瞧不起的。。。我其实只是举个例子,比如说除了 aeiou 的所有字母,那样就算表达式不长,写起来也要对着字母表看好久
@geelaw 零宽断言我理解就是正向 /反向匹配预查,但这样只能对匹配到的串的前后进行筛选,没法对匹配到的串本身进行筛选 @weixiangzhe 我比较熟悉 js,给出一个临时方案,希望有比较通用的方案 'asdsasassdbb'.replace(/[a-z]/g,(m,a)=>m.replace(/[s|b]/,'')) |
10
weakish 2019-08-22 21:25:49 +08:00 1
|