2015-10-21 117 views
-4

之间的空间我需要允许单词之间的空格,但不允许字符之间的空格。 举例 - “ABC X”,“ABC XC”是允许的,但是“C X”,“ABC X C”不是。如何不允许字符之间的空间,但允许字与RegEx

要求是“没有字母后跟空格,接着是字母”

这需要西班牙字符正常工作。

应该在 - Java和Javascript中工作 我见过很多问题(如regular expression to allow spaces between words),但它们要么允许空间或不允许空间任何位置的字符串。

我试着用 - >/(.)[^ ](.){1,}/(\S\s+\S)

我是新来的正则表达式和不知道如何着手。 如果有人能够提供答案或一些提示来实现这一点,将会有很大的帮助。

感谢, YK

+0

像这样'^(?!。* \ b \ w \ b \ s + \ w \ b)。*'? –

+0

欢迎来到StackOverflow!向我们展示您尝试的内容,并告诉我们您正在使用哪种语言,以便了解正则表达式解析器的怪癖,我们很乐意提供帮助。 – ghoti

+0

什么是“单词”?通常单个字符被视为一个字。在你的例子中,单个字符有时可以接受,有时不可以。你应该澄清你的要求,以得到一个很好的答案。 – 2015-10-21 05:33:21

回答

1

这里回答我的问题。 (\s|^)\S\s+\S(\s|$)将符合问题中提到的所有标准。
由于我们需要限制这些格式,否定表达式匹配的结果。

此外,对于java,使用matcher.find()而不是matcher.matches()来获得期望结果,因为它试图找到匹配模式的输入序列的下一个子序列。