字符串

 

java.util.regex.Pattern

 


\\ 反斜线字符
\n 换行符('\u000A')
\r 回车符('\u000D')


字符类运算符的优先级如下所示,按从最高到最低的顺序排列:
1     字面值转义     \x
2     分组 [...]
3     范围 a-z
4     并集 [a-e][i-u]
5     交集 [a-z&&[aeiou]]

[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)


捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
1     ((A)(B(C)))
2     \A
3     (B(C))
4     (C)
组0始终代表整个表达式。 组引用\n


.  任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]


^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾


X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次

XY   X后跟 Y
X|Y  X或Y
(X)  X作为捕获组  

字段
public static final int DOTALL 启动dotall模式,表达式 . 可以匹配任何字符,包括行结束符。默认情况下,此表达式不匹配行结束符。
public static final int MULTILINE 启用多行模式 表达式 ^ 和 $ 仅分别在行结束符前后匹配,或者在输入序列的结尾处匹配。默认情况下,这些表达式仅在整个输入序列的开头和结尾处匹配。

public static Pattern compile(String regex)
public static Pattern compile(String regex, int flags)

public static boolean matches(String regex, CharSequence input)

public Matcher matcher(CharSequence input) 围绕模式匹配input。
public String[] split(CharSequence input, int limit) 围绕模式的匹配拆分input。
limit>0,返回数组的长度不大于limit
limit<0,数组可以为任意长度
limit=0,数组可以为任意长度,并且将丢弃尾部空字符串。

java.util.regex.Matcher

public boolean matches()
public boolean find()
public int start() 上次匹配的初始索引
public int end() 上次匹配字串的偏移量
public Matcher reset() 重置匹配器
Matcher usePattern(Pattern newPattern)  更改此 Matcher 用于查找匹配项的 Pattern

 

String 为final, 不可变可共享 

String(byte[] bytes, int offset, int length, String charsetName)
String(char[] value, int offset, int count)
 

  

startsWith(String prefix)    endsWith(String suffix)  

int indexOf(int ch)、int lastIndexOf(int ch)、int indexOf(String str)、int lastIndexOf(String str)

String substring(int beginIndex) 、String substring(int beginIndex, int endIndex)

 

matches(String regex)  == Pattern.matches(regex, str)

 

String replace(char old, char new)    String replace(str old, str new)

String replaceFirst(String regex, String replacement) 

String replaceAll(String regex, String replacement)

== Pattern.compile(regex).matcher(str).replaceAll(replacement)

 

String[] split(String regex,int limit)   limit模式应用的次数。负数表示不限次数。     

    "boo:and:foo" 被正则表达式"o" 划分: { "b", "", ":and:f" }

toUpperCase()、toLowerCase()、trim()、concat(str)、length()、isEmpty() 、equalsIgnoreCase(str) toCharArray()、getBytes()、getBytes(charset)

charAt(int index)、compareTo(str) 、int hashCode()  、equals(str) 

static String format(String format, Object... args)

static String valueOf(xxx) 如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值。

intern() 和字符串常量池有关   

final StringBuffer  线程安全的可变字符序列。  不可能继承String

StringBuffer(str)、StringBuffer() 

 append(T x)

 delete(int start, int end)

 insert(int offset, T x)

 reverse()

final StringBuilder 和StringBuffer的区别:不保证同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值