gpt4 book ai didi

c# - 正则表达式,针对一个字符,但如果它是某个单词的一部分则不

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:26 25 4
gpt4 key购买 nike

必须要说的是,我在 RE 方面不是很有经验。我一直在寻找几个例子,但似乎没有什么能满足我的需要。目前我有:

            Regex pattern = new Regex("[x]");

但如果它在单词“Exp”内,我不想选择“x”。我该怎么做?

Exp(x) --> 我只需要定位括号内的 x

我已经尝试了 "[^Exp][x]""(?Exp)[x]" 和变体,但没有得到想要的结果。

最佳答案

尝试使用单词边界:

Regex pattern = new Regex(@"\bx\b");

另外,@避免你双重转义的任务。

单词边界是一种特殊字符,它将在字母、数字或下划线与非字母/非数字/非下划线之间进行匹配。基本上,如果你有 aa , \b只会在开始和结束时匹配,不会在中间匹配。如果你有 a.2c , \b将在 a 之前匹配, 在 a 之间和 . , 在 . 之间和 2 , 以及 c 之后, 但不在 2 之间和 c .您可以在 this site 上获得更多信息.


另外,如果你想获得 x在括号中,您可以使用环视:

Regex pattern = new Regex(@"(?<=\()x(?=\))");

(?<=\()是一个积极的回顾并检查以确保在 x 之前有一个左括号.

(?=\))是一个积极的前瞻并检查以确保在 x 之后有一个右括号.

关于c# - 正则表达式,针对一个字符,但如果它是某个单词的一部分则不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18576288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com