gpt4 book ai didi

c# - RegEx - 不解析句末的点 (.)

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

C#.Net4.5

我有以下正则表达式

^([0-9A-Z.]?[0-9a-z.]*\b\s*)+$

这应该做的是匹配一个句子,其中句子中的单词可能在单词的开头有一个大写字母,但不是在第一个字母之后,并且它可能在句子中的任何地方都有一个点 (.)。

带有以下的表达词

  • 这行得通
  • 这就是工作

但是如果点在单词的末尾则不起作用

  • 不起作用。
  • 这个。不工作

如果点 (.) 位于单词末尾,为什么这不起作用?

最佳答案

Why doesn't this work if the dot(.) is at the end of a word?

\b 匹配单词边界,后面没有句点,所以单词末尾没有句号。


这似乎更接近:

^([0-9A-Z.]?[0-9a-z.]*(?:\b|\s)\.*)+$

我为单词边界和空格添加了一个或 \b|\s 并在其中放了一个句号。

matches所有 4 条样本线。

这看起来更干净:

^([0-9A-Z.]?[0-9a-z.]*\s*)+$

( Example )

关于c# - RegEx - 不解析句末的点 (.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35212059/

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