关于字符串的分隔,正则表达式

一直认为Java的输入处理起来不方便,当今天看到正则表达式,发现有些问题就可以迎刃而解了,啦啦啦:

下面是我在网上看到的帖子与回帖,稍微整理了一下:

昨天看到有人用

str.split("\\s+")
今天又看到
"420348092".matches("\\d+")

"fajsdkfjaskdfj".matches("\\w+");

请问这些  "//什么的" 是什么东西?

是不是正则表达式?


这些都在java.util.regex.Pattern
c
 The character c
 
\unnnn, \xnn, \0n, \0nn, \0nnn
 The code unit with the given hex or octal value
 
\t, \n, \r, \f, \a, \e
 The control characters tab, newline, return, form feed, alert, and escape
 
\cc
 The control character corresponding to the character c
 
Character Classes
 
[C1C2. . .]
 Any of the characters represented by C1, C2, . . . The Ci are characters, character ranges (c1-c2), or character classes
 
[^. . .]
 Complement of character class
 
[ . . . && . . .] 
 Intersection of two character classes
 
Predefined Character Classes
 
.
 Any character except line terminators (or any character if the DOTALL flag is set)
 
\d
 A digit [0-9]
 
\D
 A nondigit [^0-9]
 
\s
 A whitespace character [ \t\n\r\f\x0B]
 
\S
 A non-whitespace character
 
\w
 A word character [a-zA-Z0-9_]
 
\W
 A nonword character
 
\p{name}
 A named character class—see Table 12-9
 
\P{name}
 The complement of a named character class
 
Boundary Matchers
 
^ $
 Beginning, end of input (or beginning, end of line in multiline mode)
 
\b
 A word boundary
 
\B
 A nonword boundary
 
Syntax
 Explanation
 
\A
 Beginning of input
 
\z
 End of input
 
\Z
 End of input except final line terminator
 
\G
 End of previous match
 
Quantifiers
 
X?
 Optional X
 
X*
 X, 0 or more times
 
X+
 X, 1 or more times
 
X{n} X{n,} X{n,m}
 X n times, at least n times, between n and m times
 
Quantifier Suffixes
 
?
 Turn default (greedy) match into reluctant match
 
+
 Turn default (greedy) match into possessive match
 
Set Operations
 
XY
 Any string from X, followed by any string from Y
 
X|Y
 Any string from X or Y
 
Grouping
 
(X)
 Capture the string matching X as a group
 
\n
 The match of the nth group
 
Escapes
 
\c
 The character c (must not be an alphabetic character)
 
\Q . . . \E 
 Quote . . . verbatim
 
(? . . . ) 
 Special construct—see API notes of Pattern class
 


精辟的一句话:不看java JDK的java程序员是不合格的!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值