我很难解决这个问题 我需要获取所有包含撇号的单词,有时将单个单词用作撇号
这是我的正则表达式:
[\u0027\u2019]
这是我的例句:
'Chapert 2'
Chapter's
chapters'
我的预期输出是
Chapter's
chapters'
但是我现在的代码是它获取包含撇号或单个qoute的所有单词。如何获得所有不以单引号或单个qoute开头的单词?
答案 0 :(得分:2)
这应该给您想要的结果:
Regex rgx = new Regex(@"^[^'].*'.*$");
List<string> list = new List<string>() { "'Chapert 2'", "Chapter's", "chapters'" };
foreach(var item in list)
{
if (rgx.IsMatch(item))
Console.WriteLine(item);
}
^
-字符串的开头。[^']
-一个不是'
的字符。.*
-零个或多个字符。'
-必须至少要有一个'
.*
-再次零个或多个任何字符结束字符串。$
-字符串结尾。答案 1 :(得分:1)
^[^']
就足够了。
^
匹配字符串的开头[^…]
匹配除方括号内的每个字符之外的所有字符因此^[^']
匹配以非撇号字符开头的字符串。