繁体   English   中英

使用JavaScript中的正则表达式匹配确切的字符串或第一个单词

[英]Match exact string or first word with Regex in Javascript

我的目标是匹配字符串的第一个单词。 因此,当您拥有“ Testing line”之类的字符串时,它将以第一个单词返回“ Testing”,并且我可以用它做任何我想做的事情。 这就是我已经拥有的:

elm.html(elm.text().replace(/([^\s]+)/, '<span class="first-word">$1</span>'));

我有文本为“ Demo web”的元素,它返回了“ <span class="first-word">Demo</span> web ”。 这样就可以了。

我还想要一个例外,当字符串的一部分包含“ Admin”时,它将仅返回该部分。 我想说的是...

输入: Adminer helps -> <span class="first-word">Admin</span>er helps

我尝试过此正则表达式: ([Admin|^\\s]+)可以正常工作,但仅在这种情况下。 现在,它不适用于其他所有没有“管理员”的地方。 例:

输入: Blabla date -> Blabla<span class="first-word"> d</span>ate

我究竟做错了什么? 如果可能的话,我只想用正则表达式来做。

您可以使用正则表达式/\\bAdmin|\\S+/

 function replaceText(str) { return str.replace(/\\bAdmin|\\S+/, '<span class="first-word">$&</span>'); } console.log(replaceText('Adminer help')); console.log(replaceText('abc help')); console.log(replaceText('test help')); 

正则表达式的解释在这里

正则表达式可视化


仅供参考: [Admin|^\\s]+是与列表中存在的单个字符匹配的“字符类”。 在您的情况下,第一个匹配项是d ,它将替换d 另外, ^仅在开头时才起作用,否则它将充当字符。

暂无
暂无

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

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