cqwcns 发表于 2019-10-7 09:26

正则表达式真好用,但真搞不懂


求“0或1或2”以外任何字符的正则表达式(用于JS)。
字串仅为0或者仅为1或者仅为2,就false。否则true。

例如:
0 返回 false
1 返回 false
2 返回 false

01 返回 true
00 返回 true
3返回 true

zjtalpha 发表于 2019-10-7 10:01

本帖最后由 zjtalpha 于 2019-10-7 10:02 编辑

^$

这样?跟你的要求反着,0,1,2返回true,其他返回false
----
结束符打错了,重新编辑下

yang19950324 发表于 2019-10-7 10:04

你这个反向思维更简单,只要0,1, 2匹配了就true,否则false

talentmu 发表于 2019-10-7 10:06

本帖最后由 talentmu 于 2019-10-7 10:17 编辑

逆向出奇迹,反着来,把true和false换一下

正着来也行,先匹配一位的排除0-2的,然后再匹配二位以上的所有。

大红袍 发表于 2019-10-7 10:11

00会匹配成两个0吧 😂️

白如雪 发表于 2019-10-7 10:13

test() 方法:正则表达式方法。

test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

var re = /*/;

re.test("abc") //返回false

re.test("1234") //返回true

百度找的.不知道是不是...

cqwcns 发表于 2019-10-7 10:17

zjtalpha 发表于 2019-10-7 10:01
这样?跟你的要求反着,0,1,2返回true,其他返 ...

你好,能不反着吗?如果反着,我的判断公式岂不是要这样写?

var str ="3";
var pattern = /^$/;
if(!pattern.test(str)){
console.log("是以外的字符");
};

如果可以,我不想加!,直接if就可以了。

如果可以,指教一下,谢谢。

rufan321 发表于 2019-10-7 10:37

本帖最后由 rufan321 于 2019-10-7 10:39 编辑

请教一下,Notepad++7.7.1能不能重新排顺序呢,如图,想从71,72,73,74这样开始排。

zjtalpha 发表于 2019-10-7 10:38

cqwcns 发表于 2019-10-7 10:17
你好,能不反着吗?如果反着,我的判断公式岂不是要这样写?

var str = ...

不反着,不好搞,主要你是要求整个字符串,不是针对的单个字符,否则就可以[^012],这样做反匹配

zjtalpha 发表于 2019-10-7 10:46

cqwcns 发表于 2019-10-7 10:17
你好,能不反着吗?如果反着,我的判断公式岂不是要这样写?

var str = ...

可以这样

[^012]+

意思是只要有0,1,2以外的字符,就可以匹配,你试试
页: [1] 2 3
查看完整版本: 正则表达式真好用,但真搞不懂