繁体   English   中英

正则表达式在 Javascript 中的字符串末尾精确匹配一次出现的字符

[英]RegEx to match exactly one occurrence of character at the end of string in Javascript

我有一个字符串,并且想要匹配在字符串末尾只有一次出现的 s 或 m 的模式。 我没有太多使用正则表达式,也找不到任何答案。
例如,如果字符串是 121ss。 它应该返回假。 121s 和 121m 应该返回 true。 121ms 也应该返回 false。 它也区分大小写,因此 121M 或 121H 不会。
我尝试使用的模式是/[mh]{1}$/

如果"m""s"必须以至少一个或多个数字开头\d+使用:

/\d+[ms]$/

Regex101 上的演示

1m      // matches
123m    // matches
1s      // matches
123s    // matches
121ss
121ms
1M
1S
123MS
xyzn
xyzs

PS:如果您已经使用[ms] (意思是"m or s" ),那么{1}是不必要的,因为它只匹配一个选项。

最后一个字符必须是ms ,并且倒数第二个字符不能是它们中的任何一个:

/[^ms][ms]$/

您可以在RegExr上尝试此操作,这是一个提供非常有用提示的游乐场

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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