我有这样的文字:

my text has $1 per Lap to someone.

谁能告诉我如何从中选择per部分。我知道如何选择$数量。就像这样:
new Regex(@"\$\d+(?:\.\d+)?").Match(s.Comment1).Groups[0].ToString()

任何帮助将不胜感激。

最佳答案

正如您所说的per是一个字符串类型,以下简单的正则表达式可以为您完成这项工作:

\$\d+\s([a-zA-Z]+)

但是,如果per包含数字,则可以使用与单词字符匹配的\w:
\$\d+\s(\w+)

Demo

请注意,在这种情况下,per在第一个捕获组中,您需要提取第一个组。

如果您不想使用grouping,也可以使用正面的表情:
(?<=\$\d+\s)[a-zA-Z]+

如果per是一个特殊单词,则可以使用以下正则表达式进行检查:
(?<=\$\d+\s)per

就像是 :
var per_str = new Regex(@'(?<=\$\d+\s)per').Match(str).Groups[0].Value;
if (per_str != ''){
#dostuff
}

关于c# - 正则表达式选择单词的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30070233/

10-11 02:56