Java 需要模式,允许字母数字与3个特殊字符-。空白
我需要验证一个地址字段,该字段可以包含带有Java 需要模式,允许字母数字与3个特殊字符-。空白,java,regex,Java,Regex,我需要验证一个地址字段,该字段可以包含带有-、和空格的字母数字字符。第一个字符不应是-或。也不允许重复使用特殊字符(---..)。我试过这种模式,但没有用 Pattern.compile("^[a-zA-Z0-9-\\.\\s]*$") 请为我提供匹配字符串的图案,如A-133 Rock Appt. ^\w++(?:[.\s-](?![.\s-])|\w++)*$ 这样做(在Java字符串中使用两倍的反斜杠) 说明: ^ # Start of string \w++
-
、
和空格的字母数字字符。第一个字符不应是-
或
。也不允许重复使用特殊字符(--
-.
.
)。我试过这种模式,但没有用
Pattern.compile("^[a-zA-Z0-9-\\.\\s]*$")
请为我提供匹配字符串的图案,如A-133 Rock Appt.
^\w++(?:[.\s-](?![.\s-])|\w++)*$
这样做(在Java字符串中使用两倍的反斜杠)
说明:
^ # Start of string
\w++ # Match one or more alnum characters, possessively
(?: # Match either
[.\s-] # a single "special" character
(?![.\s-]) # aserting that it's really single
| # or
\w++ # one or more alnum characters, possessively
)* # zero or more times
$ # End of string
如果字符串不匹配,所有格量词(++
)有助于正则表达式更快地失败
这样做(在Java字符串中使用两倍的反斜杠)
说明:
^ # Start of string
\w++ # Match one or more alnum characters, possessively
(?: # Match either
[.\s-] # a single "special" character
(?![.\s-]) # aserting that it's really single
| # or
\w++ # one or more alnum characters, possessively
)* # zero or more times
$ # End of string
如果字符串不匹配,所有格量词(
++
)有助于正则表达式更快地失败。如果还允许使用下划线,则回答1是正确的。答案1的Regexp也接受:
_A-133 Rock Appt.
如果不允许使用下划线,则将
\w
替换为[a-z0-9A-Z]
如果也允许使用下划线,则回答1是正确的。答案1的Regexp也接受:
_A-133 Rock Appt.
如果不允许使用下划线,请将
\w
替换为[a-z0-9A-Z]
请复制/粘贴实际代码(并在编辑器中在其前面放置四个空格)请复制/粘贴实际代码(并在编辑器中在其前面放置四个空格)