Javascript 用于标记的通用正则表达式
我有这些字符串:Javascript 用于标记的通用正则表达式,javascript,regex,Javascript,Regex,我有这些字符串: "#ab#ab #ab # ab # a #a " "ab ab ab ab a a" 和 "ab ab ab ab a a " 所以我想从字符串中得到这个: "#ab#ab #ab # ab # a #a " "ab ab ab ab a a" (无前导空格和最后空格) 但是 现在我使用两个正则表达式: 替换(/#/gi,)和替换(/(?!\w)/gi,) 我的正则表达式也不完美。我想用一个好的正则表达式 你能帮我吗?使用下面的正则表达式
"#ab#ab #ab # ab # a #a "
"ab ab ab ab a a"
和
"ab ab ab ab a a "
所以我想从字符串中得到这个:
"#ab#ab #ab # ab # a #a "
"ab ab ab ab a a"
(无前导空格和最后空格)
但是
现在我使用两个正则表达式:
替换(/#/gi,)
和替换(/(?!\w)/gi,)
我的正则表达式也不完美。我想用一个好的正则表达式
你能帮我吗?使用下面的正则表达式(感谢)
还可以对替换的字符串使用trim
,以删除前导空格和尾随空格(如果有)
演示:
var str='#ab#ab#ab#ab#a#a';
str=str.replace(/[\s#]+/g',).trim();
console.log(str);
文件编写(str)我记得这个问题(或类似的问题)在几个小时前被贴出来。这里是:你必须更具体。散列(#
)和空格是否重要?如果是,它们的重要性如何?除了空格之外,还应该考虑任何空格字符吗?正则表达式功能强大,但如果不仔细定义它们,最终会得到错误的结果。如果您只想让字母字符匹配像/[a-z]+/
这样的东西,应该可以。谢谢!但是您的正则表达式不是通用的,因此它无法解析“ab a”@StanKnock第二个选项var str='#ab#ab#ab#a#;str=str.match(/\w+/g).join(“”)
doestrystr.replace(/\s*(?:#|\s)\s*/g',).trim()代码>@AvinashRaj你应该把它作为答案发布,你能把你的评论作为答案发布吗?