C# Regex -匹配字符串的开头并允许在结尾处使用2个随机字符

bqucvtff  于 2022-11-18  发布在  C#
关注(0)|答案(1)|浏览(160)

我试图在一大块文本中找到单数和复数一起计算的单词。我有一个想法,使它与regex一起工作(不完美,但在我的情况下,它是伟大的)。
我想要一个正则表达式,它可以取字符串的片段,比如说'piece',我想得到以'piece'开头的文本块中每个现有单词的计数,+结尾可以有2个随机字符(也许只有一些特定字符会更好)。
所以在这段文字中“I had a piece cake. There are many pieces left.”我会给予正则表达式单词“piec”,它会返回“2”,因为有2个单词以“piec”开头,结尾有2个随机字符。如果句子中的单词是“piecess”,它不会计数,因为它在基本单词“pieces”后面有3个随机字符。
我解释了它,以及我可以:D我希望你会理解。我没有找到答案如何做'可以有2个随机字符在年底'。
有人能帮我吗?非常感谢您的所有答案

sd2nnvve

sd2nnvve1#

随机字符定义为[A-Za-z]。如果只考虑小写字符,则为[a-z]
要定义它最多应该有两个这样的字符,在结尾加上{0,2}。因此,如果我们以你的作品为例,它将是piec[A-Za-z]{0,2}。然而,要将正则表达式应用到一个句子中,你还应该定义这个词应该被非字符字母包围(\W),所以我们得到\Wpiec[A-Za-z]{0,2}\W。然而,单词可以在开头(^)或结尾($),这样就没有非字符字母,我们得到
(\W|^)(RegE[A-Za-z]{0,2})(\W|$)

相关问题