var subject = "Parametre - Bloc Notes"
var match = Regex.Match(subject, "(?i)(?:blah|para|foo).*?");
// This will work
//"Para" doesn't match "Param" and it is before the dash
var subject = "Parametre - Bloc Notes"
var match = Regex.Match(subject, "(?i)(?:blah|blo|foo).*?");
// This will not work
// "Blo" match "Bloc" and it is after the dash
我认为“ - ”是我误解的主要原因。
编辑:
我很抱歉,所以我希望正则表达式在破折号之前与Param相匹配,我该怎么做?
编辑2:
我承认我的问题非常模糊,所以我的目标是找到任何字符串中的Parametre字。
答案 0 :(得分:1)
要匹配-
之前的任何字词,您只需执行此操作:
/(\w+)\s*\-/
在上面的示例中,第一组将是“Parametre”。例如,
"Foo - bar baz" // first group will be "Foo"
"Hello - World" // first group will be "Hello"
更新:我似乎误解了你的问题。如果意图只是想知道字符串中是否存在“Parametre”一词,则可以使用String.Contains
:
"Parametre - Bloc Notes".Contains("Parametre"); // true
或者,如果您关注单词边界(即不想要匹配“Parametres”),您仍然可以使用正则表达式:
/\bParametre\b/