2017-10-05 45 views
1

我有中国文字的某些字符串单一完整的句子:解析出包含与正则表达式某些字符串模式

xxxxx.xxxx.xxx.xxx.xxxxx.xxxCxxxx

怎么办我使用正则表达式来解析包含字母“C”的句子?

xxxCxxxx

正则表达式:

/。.+?C.+?。/ 

了这样的结果:

"。xxxx。xxx。xxx。xxxxx。xxxCxxxx。" 

UPDATE:

找到了答案:[^。]*C[^。]*

任何人都可以解释为什么/[^。]*C[^。]*。/作品和/。.+?C.+?。/不?

+0

类似的问题可以在这里找到(https://stackoverflow.com/q/26081820/6210219)。如果社区认为这是多余的,我可以删除这个问题。 – Sati

回答

1

的解决方案是:[^。]*C[^。]*。

要回答你原来的正则表达式/。.+?C.+?。/为您想解释为什么它没有工作会有问题:

  1. 将首先匹配
  2. 然后.+?C将继续提取字符,直到它找到ç因此这 整个事情将匹配:xxxx。xxx。xxx。xxxxx。xxx
  3. 一旦找到C,你的正则表达式.+?。的最后一部分就会在 的操作中。这一切都取到下一

    所以你得到的结果是:。xxxx。xxx。xxx。xxxxx。xxxCxxxx。

这一个[^。]*C[^。]*。作品你,因为:。

  1. [^。]*C取什么,但;并且这些东西必须被C遵循 ,这使得它xxxC
  2. [^。]*。它再次获取任何东西,但当它找到时停止,并且与它匹配停止。
+0

@ Rizwan,'[^。] *'如何工作? – Sati

+0

@Sati更新了答案,现在清楚了吗? –

+1

是的,非常感谢。 – Sati

相关问题