javascript - 与转义字符匹配的简单正则表达式模式

标签 javascript regex

希望是一个简单的!

我已经尝试让它工作几个小时了,但运气不好,因为我对正则表达式还很陌生,我可能在这里遗漏了一些非常明显的东西,希望有人能指出我正确的方向.我要匹配的模式如下:-

至少1个或多个数字+“##”+至少1个或多个数字+“##”+至少1个或多个数字

所以一些有效组合的例子是:- 1##2##3 123#123#123 0##0##0

一些无效的组合是 a##b##c 1## ##1

我有如下正则表达式:-

[\d+]/#/#[\d+]/#/#[\d+]

我这样使用它(注意双斜杠在字符串中):-

var patt = new RegExp("[\\d+]/#/#[\\d+]/#/#[\\d+]");
if(newFieldValue!=patt){newFieldValue=="no match"}

我也试过这些但仍然没有:-

if(!patt.text(newFieldValue)){newFieldValue==""}
if(patt.text(newFieldValue)){}else{newFieldValue==""}

但是我没有尝试匹配,我哪里出错了?

不胜感激,干杯!

最佳答案

1) 对于您的情况,我看不出有任何理由在 RegExp 文字上使用 RegExp 构造函数。 (前者主要用于模式需要动态的地方,即由变量贡献。)

2) 如果其中只有一种类型的字符,则不需要字符类(因此 \d+ 而不是 [\d+]

3) 您实际上并没有根据输入检查模式。您不通过创建它的实例并使用 == 来应用 RegEx;您需要使用 test()match() 来查看是否匹配(前者如果您只想检查,而不是捕获)

4) 你有 == 你要分配的地方 (=)

if (!/\d+##\d+##\d+/.test(newFieldValue)) newFieldValue = "no match";

关于javascript - 与转义字符匹配的简单正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21698385/

相关文章:

javascript - 将值添加到数组中的对象

ruby-on-rails - 使用正则表达式进行拆分而不删除分隔符

php - 在读取 file.js 时将目标添加到链接

javascript - Coffeescript:从同一对象中的函数调用数组函数

regex - 在单独的匹配器中使用正则表达式解析日期和日期时间

javascript - 需要一个需要大写或小写字母的 JavaScript 正则表达式

Javascript 由方括号和数字分割

javascript - 为什么 RegEx.test 会在后续调用中更改结果?

javascript - 找不到创建命令行启动器 Intellij

javascript - 如何删除 localStorage 中的特定项目/对象?