不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-02-16 18:52  分类:Java  编辑

group()

public String group(int group)

返回在以前匹配操作期间由给定组捕获的输入子序列。

对于匹配器 m、输入序列 s 和组索引 g,表达式 m.group(g) 和 s.substring(m.start(g), m.end(g)) 是等效的。

捕获组是从 1 开始从左到右的索引。组零表示整个模式,因此表达式 m.group(0) 等效于 m.group()

如果该匹配成功了,但指定组未能匹配输入序列的任何部分,则返回 null。注意,某些组(例如,(a*))匹配空字符串。当这些的组成功匹配输入中的空字符串时,此方法将返回 空字符串

作者:php-note.com  发布于:2019-02-05 21:44  分类:编程基础/Web安全  编辑
作者:php-note.com  发布于:2019-02-04 16:31  分类:PHP基础  编辑

preg_split() 函数通过一个正则表达式分隔字符串。

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

参数说明:

  • $flags:可选,可以是任何下面标记的组合(以位或运算 | 组合):

    • PREG_SPLIT_NO_EMPTY:如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。
    • PREG_SPLIT_DELIM_CAPTURE:如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
    • PREG_SPLIT_OFFSET_CAPTURE:如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量。 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject 中的偏移量组成的数组。
作者:php-note.com  发布于:2019-02-04 16:01  分类:Java  编辑

在正则表达式外是用 $1, $2 ... 来进行 后向引用,如果是在正则表达式中就需要用 \1, \2 ... 的形式来进 后向引用

作者:php-note.com  发布于:2019-02-04 11:04  分类:Java  编辑

appendReplacement():sb是一个StringBuffer,replaceContext待替换的字符串,这个方法会把匹配到的内容替换为replaceContext,并且把从上次替换的位置到这次替换位置之间的字符串也拿到,然后,加上这次替换后的结果一起追加到StringBuffer里(假如这次替换是第一次替换,那就是只追加替换后的字符串啦)。

appendTail():sb是一个StringBuffer,这个方法是把最后一次匹配到内容之后的字符串追加到StringBuffer中。

作者:php-note.com  发布于:2019-02-03 00:27  分类:Java  编辑

在java.util.regex包中,包括了两个类:Pattern(模式类)Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真正影响搜索的对象。另加一个新的模式异常类:PatternSyntaxException,当遇到不合法的搜索模式时,会抛出异常。

作者:php-note.com  发布于:2019-02-02 16:00  分类:PHP基础  编辑

PREG_PATTERN_ORDER; // 默认选项。整个数组是二维数组,$arr1[0]是包括边界所构成匹配字符串的数组,$arr1[1]除去边界所构成的匹配字符串的数组;

作者:php-note.com  发布于:2019-01-26 21:30  分类:Java  编辑

Java正则表达式:

  •   (?i)abc  表示abc都忽略大小写
  •   a(?i)bc  表示bc忽略大小写
  •   a((?i)b)c  表示只有b忽略大小写

也可以用 Pattern.compile(rexp, Pattern.CASE_INSENSITIVE) 表示整体都忽略大小写

作者:php-note.com  发布于:2018-08-11 13:47  分类:Java  编辑

appendReplacement(StringBuffer sb, String replacement)

将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里,而

appendTail(StringBuffer sb) 方法则将最后一次匹配工作后剩余的字符串添加到一个StringBuffer对象里。

例如,有字符串 fatcatfatcatfat,假设既有正则表达式模式为"cat",第一次匹配后调用appendReplacement(sb, "dog"),那么这时StringBuffer sb的内容为fatdog,也就是fatcat中的cat被替换为dog并且与匹配子串前的内容加到sb里,而第二次匹配后调用 appendReplacement(sb, "dog"),那么sb的内容就变为fatdogfatdog,如果最后再调用一次 appendTail(sb),那么sb最终的内容将是 fatdogfatdogfat。

作者:php-note.com  发布于:2017-05-18 20:48  分类:Go/Python  编辑