[英]Regex - I want my string to end with 2 special character
我一直在尝试制作一个以2个特殊字符结尾的正则表达式,但是我找不到解决方案。 这是我尝试过的方法,但似乎不起作用。
/.[!@#$%^&*]{2}+$/;
提前致谢。
试试这个正则表达式:
^.*[!@#$%^&*]{2}$
const regex = /^.*[!@#$%^&*]{2}$/; const str = `abc@#\\$`; let m; if(str.match(regex)) { console.log("matched"); } else console.log("not matched");
/.[!@#$%^&*]{2}+$/
正则表达式匹配项
.
-除换行符外的任何字符 [!@#$%^&*]{2}+
-在支持所有格词的PCRE / Boost / Java / Oniguruma和其他正则表达式引擎中,它与定义集中的2辆汽车完全匹配,但是在JS中,它导致“无重复”错误 $
-字符串结尾。 要匹配定义的集合中以2次出现的char结尾的任何字符串,您需要删除.
和+
和使用
console.log(/[!@#$%^&*]{2}$/.test("#@"))
或者,如果这两个字符不能以第三个字符开头:
console.log(/(?:^|[^!@#$%^&*])[!@#$%^&*]{2}$/.test("#@")) // ^^^^^^^^^^^^^^^^^
(?:^|[^!@#$%^&*])
非捕获组匹配字符串( ^
)或( |
)以外的任何字符!
, @
, #
, $
, %
, ^
, &
, *
( [^!@#$%^&*]
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.