我有这个字符串:
var str = 'این یک @پیا.م تست است';
// I want this ^^^^^
我可以这样选择:
/@(.{5})/
但这不是我需要的,因为在@
之后和空格之前的那个词的长度并不总是
5
。我真的不知道为什么\w
与波斯人物不匹配。甚至[a-zA-Z]
也不起作用。
嗯,我怎么能这样做?
答案 0 :(得分:6)
你可以使用以下正则表达式返回任何beteen @
和fot .
:
<强> @(.*?)[\s] 强>
@ :匹配字符@ literally
(。*?):匹配任何字符(换行符除外)
\ s :匹配任何空格字符[\ r \ n \ t \ f]
希望这有帮助。
答案 1 :(得分:2)
答案 2 :(得分:2)
如果您拥有PCRE(在Javascript中执行)的最短路径是:
str.match(/@(\S+)/)
那个@ -sign后跟至少一个非空格。大多数其他字符类转义也有大写版本,这意味着不是 - 例如。 \D
为无数字。
答案 3 :(得分:1)
在正则表达式下工作
/@(.*?)\s/