English 中文(简体)
两个正方形模式的区别是什么?
原标题:What is the difference between the two regex pattern
  • 时间:2012-05-23 10:37:48
  •  标签:
  • java
  • regex

我试图验证一个公司名称 在一个网络应用程序 并拥有这个regex模式

^[a-zA-Z_ \s,;.-0-9]{1,100}$

上述模式将拒绝值 10004不动产有限公司

但如果我提出0 -9 这样模式就变成

^[a-zA-Z0-9_ \s,;.-]{1,100}$

然后它就起作用了。这是新的 Regex和模式, 但我知道我应该多用一些, 所以我想说清楚。谢谢。

最佳回答

- 是字符类别中的一个特殊字符, 因此 .-0- 9 是模糊的, 可能具有以下含义: . to 0 - , 基本上就是字符 ./09-

要在字符类中包含连苯- minus, 您要么要避开它, 要么在字符类的开始或结束时放置它( 这是您在第二个字符类中正在做的, 可能是偶然的 ) 。

编辑后添加: 以上猜想似乎是正确的, 至少对. NET s regex 引擎来说 :

PS> [char[]](32..127) -match  [a-zA-Z_  s,;.-0-9] 

 
,
-
.
/
0
9
;
A
...
问题回答

可能是因为第一个字符组的字符组内部的" -"

^[a-zA-Z_ s,;.-0-9]{1,100}$

摆脱它,它应该没事。

记住, 当字符组内部的字符组里, 您需要逃跑的字符会变成

backslash 
caret ^
hyphen -




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...