繁体   English   中英

正则表达式-我希望我的字符串以2个特殊字符结尾

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM