【问题标题】:Regular expression that matches strings with exactly one space between each word and no trailing or leading spaces匹配字符串的正则表达式,每个单词之间只有一个空格,并且没有尾随或前导空格
【发布时间】:2012-12-07 17:02:57
【问题描述】:

如何编写一个正则表达式来匹配每个单词之间只有一个空格且没有尾随或前导空格的字符串?字符串可以(除了字母)仅包含 [-.,'] 字符并且单词之间没有连续的空格。

  • 有效:"testing 2 regx-tested"
  • 无效:"testing regx#tested "

【问题讨论】:

  • 空字符串应该是有效的OTR不?
  • 您能不能至少在您的作业中添加一个问题?.. 我们随时为您提供帮助,有自己无法解决的问题的人。你只是在折腾一个需求。你自己试过什么?我不会费心为你完成你的任务。人们通常会为此付钱给我。
  • 你之前好像问过same question,它被关闭了。该链接显示在“相关”部分。
  • 不要在旧问题关闭时创建新问题(这种行为很可能会导致您自动被禁止提问),而是使用任何新细节编辑旧问题,您已经试过了,哪里有问题。就目前而言,这个问题对 Stack Overflow 社区贡献良多。

标签: .net regex


【解决方案1】:

把你说的写下来

Regex regex = new Regex("[-0-9a-z.,']+( [-0-9a-z.,']+)*");

应该匹配一个单词,然后是多个其他单词,用一个空格分隔。

【讨论】:

  • 感谢您的回复。但这对我不起作用。单词之间不应允许连续空格,应允许数字。
  • 这个正则表达式允许字符串的开头和结尾有空格,也允许单词之间有连续的空格。
  • 您需要将其与整个字符串进行匹配,而不仅仅是其中的一部分。我相信你可以自己解决这个问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多