我试图弄清楚如何制作一个正则表达式,它将在段落/字符串中找到某个特定字符的X实例。它将包括换行符,并且字符不连续。我觉得这应该很简单,但我似乎无法弄清楚(并且在网上搜索,我似乎只能找到连续抓取相同角色的解决方案)。
不幸的是,它必须是一个正则表达式。
答案 0 :(得分:0)
如果您选择的正则表达式引擎支持内联修饰符,则可以使用
(?s)^[^X]*(?:X[^X]*){10}
(?s)
是单线模式的修饰符(点匹配换行符)^
是字符串开头的锚点[^X]*
匹配任何非X,零到无限次的内容(?:X[^X]*){10}
匹配X后跟0或更多不是X,10次假设你想要的角色是X - 你可以随心所欲地替换它。出于性能原因,我使用了否定的类[^X]
,因为它比.*
或.*?
请参阅https://regex101.com/r/tW8tH4/1了解演示。