菜单

java转义符和正则表达式转义符,转义符和

2018年12月20日 - Php

同等、正则反引用

java转义符和正则表达式转义符,转义符和

举例来说,连续相同之3位数字的正则表达式的正统语法是:

 ([\d])\1{2}

可只要在java代码中如此形容,就汇合起语法错误,如下:

 String regEx = "([\d])\1{2}";

考虑到\标志在java字符串的语法中属于转义符,所以,需要的java的语法是:

 String regEx = "([\\d])\\1{2}";

以深化印象,再来拘禁下一个例子:前面总是相同之3个数字,前面连续相同的老三员字符的正则表明式的标准语法是:

 (\d)\1{2}(.)\2{2}

如以java中,是这样写的:

 String regEx = "(\\d)\\1{2}(.)\\2{2}";

注意,\1和\2指的是patten的位置。

最终吃来整段测试代码:

 @Test
public void test02(){
    // 要验证的字符串
    String str = "111";
    // 正则表达式规则
    String regEx = "([\\d])\\1{2}";
    //String regEx = "([\d])\1{2}";
    // 编译正则表达式
    Pattern pattern = Pattern.compile(regEx);
    // 忽略大小写的写法
    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(str);
    // 查找字符串中是否有匹配正则表达式的字符/字符串
    boolean rs = matcher.find();
    System.out.println(rs);
}

http://www.bkjia.com/Javabc/1222181.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1222181.htmlTechArticlejava转义符和正则表达式转义符,转义符和
举例来说,连续相同的3位数字的正则表明式的正经语法是: ([\d])\1{2}
可是使在java代码中那样…

正则表明式,在PHP中自己时时能就此到。用底景呢死多,比如,正则非凡配字符串,判断字符是否在,正则替换等等。

例子一:

 

$string = 'abcd';
$re = preg_replace('/(a)/', '\1A',$string);
echo $re;

//结果
// aAbcd

 

这里运用了正则的捕获组概念与倒引用。

解释:

捕获组大家可以由第一个`(`
向后数, 第一只括号中匹配到之情,大家可用 \1 来引用,为了看的明朗,特意拼接了
**
`A` ,其实我们尚可就此
$+数字来表示第几单捕获组。 这里可以据此$1,效果与\1一样。**

例子二:

$string = 'abcd';
$re = preg_replace('/(a)/', '$1B',$string);
echo $re;


//结果
//aBbcd

二、转义符

啊是转义符?

每当PHP中大家用
`\`
来转译一些非同平时的字符。

例子三:

$string = 'abcd';
$re = preg_replace('/(a)/', '\1B',$string);
echo $re;

//结果
//aBbcd    

解释: 这里的 \1
把是作捕获组的相反引用。

例子四:

$string = 'abcd';
$re = preg_replace('/(a)/', '\\1B',$string);
echo $re;

//结果
//aBcd

解释:这里的` \\1
`,第一个`\`,转译了第二独`\`, 那么就变成了 `\1B` , 其实效果及例子三之 `\1` 是一致的。

 

例子五:

$string = 'abcd';
$re = preg_replace('/(a)/', '\\\1B',$string);
echo $re;



//结果
//\1Bbcd

解释:这里的`\\\1`,第一个`\`,转译了次单`\`,那么就剩下了`\\1`,`\\` 输出 `\`,最后,就剩下 `1`了。

三、总结

1、PHP正则遭到的相反引用,\1
$1
效果是相同的,我们且可将来为此。

2、PHP正则被之转义符,当遇多独`\` 的上,大家好事先“去掉”
一个,然后,在夺匹配。这样即使吓明啊。

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图