如何使用单个正则表达式检测字符串是否存在末尾空白字符?
可以用单个正则完成检测
当然可以,把两种检测逻辑合并到一个正则表达式里就行,最终的正则是:
myString.match(/[^\S\r\n](?:\n|$)/)
正则解释:
[^\S\r\n]:匹配任意水平空白字符(比如空格、制表符,不会匹配换行/回车这类垂直空白)(?:\n|$):非捕获组,用来匹配两种后续场景:要么是换行符\n,要么是字符串的结束位置$
这个正则会同时命中你原来两个正则覆盖的场景:
- 水平空白字符紧跟在换行符之前(对应
/[^\S\r\n]\n/的情况) - 水平空白字符直接出现在字符串末尾(对应
/[^\S\r\n]$/的情况)
和你原来的逻辑一致,只要match()返回非null值,就说明字符串存在目标情况。
内容的提问来源于stack exchange,提问作者user3064538
相关产品推荐
相关产品推荐

