正则表达式以@开头全字

时间:2018-05-16 12:45:40

标签: javascript regex

基本上我试图创建一个正则表达式模式,让每个单词都以@左开头 例如:

@Server1:IP:Name Just a few words more 

模式应该找到“@ Server1:IP:Name”
我创建了一个迄今为止有效的正则表达式模式:

/@\w+/

问题是结肠不再匹配后的一切。如果我使用这个正则表达式,我会得到这个结果,例如:

@Server1

我如何确保它会以@开头并忽略其中的冒号?

3 个答案:

答案 0 :(得分:0)

工作正常试试:

@\w\S+

https://regex101.com/

\ w 匹配任何单词字符(等于[a-zA-Z0-9 _])

匹配任何非空白字符

+ 量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)

答案 1 :(得分:0)

您可以使用此

 @[\w\s:]+
  • \ w匹配任何单词字符(等于[a-zA-Z0-9 _])
  • \ s匹配任何空格字符(等于[\ r \ n \ t \ f \ v])
  • :匹配字符:字面意思(区分大小写)

如果您的字符串包含任何字符串(!@#$%^& *()_ +。),您也可以添加它们。

答案 2 :(得分:0)

试试这个var input = "NULL VALUE,25,000-30,000,31,000-32,000,33,000-50,000"; var regex = new Regex(@"( [A-Z ]+#NULL VALUE |#OR (?: \d{1,3}#A trailling number (?:,\d{3})*#Followed or not by a thousand separator and 3 digits ) -#The range separator (?:\d{1,3}(?:,\d{3})*)#Same thing here )", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase | RegexOptions.Multiline); var matches = regex.Matches(input); foreach (Match match in matches) { // Do what you want here, I choose to output it. Console.WriteLine(match.Groups[1]); }

它为您提供了" @"之间的所有内容。和下一个空间。

@\S+匹配任何非空格字符。

参考this