我有这样的文字:
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/