正则表达式分割字符串,替换字符串内容

项目中用到字符串分割及替换功能,String中也有想用的分割替换方法,此处采用正则表达式来操作,顺便总结下正则字符的说明,仅做技术分享交流,如果您觉得能用到,证明小编时间没白费,如果您有意见或建议,请留言。

话不多说,进入正题

一、字符说明

    1、基础字符说明

x

字符x

\\

反斜杠"\"

\t

制表符('\u0009'

\n

换行符('\u000A'

\r

 回车符('\u000D'

[abc]

ab, 或者 c 

[^abc]

abc外的任意字符

[a-zA-Z]

字符azAZ中任意一个字符

[a-d[m-p]]

字符ad或者mp之间任意一个字符,等同于[a-dm-p]

[a-z&&[def]]

字符de或者f中的任意一个字符

[a-z&&[^bc]]

字符az中除了bc意外的任意一个字符, 等同于 [ad-z] 

[a-z&&[^m-p]]

字符az除了mp意外的任意一个字符,等同于 [a-lq-z]

    2、预定义字符说明

.

任意一个字符

\d

0-9中任意一个数字

\D

任意一个非数字字符

\s

任意一个空格字符[ \t\n\x0B\f\r]

\S

任意一个非空格字符[^\s]

\w

任意一个单词字符[a-zA-Z_0-9]

\W

任意一个非单词字符[^\w]

         3、边界匹配说明

^

一行的开始

$

一行的结束

\b

一个单词的边界

\B

非单词边界

         4、量词匹配说明

X?

字符X,匹配01

X*

字符X,匹配0或多次

X+

字符X,匹配1或多次

X{n}

字符X,匹配n

X{n,}

字符X,匹配至少n

X{n,m}

字符X,匹配至少n次,最多m

         5、逻辑运算说明

XY

X后的紧接着是Y

X|Y

X或者Y

(X)

X作为一个整体

注:使用特殊字符时,使用转义字符“\”,例如:如果要匹配”.” “\”则需写成“\.” “\\”;

二、使用正则表达式分割字符串及替换字符串内容

         1、使用正则表达式分割字符串:

                   示例代码:

                  

//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
String rex = "1";//分割符
String matchStr = "a1b1c1d1e";//要分割的对象
//获取属于rex正则的pattern对象。
Pattern pattern = Pattern.compile(rex);
//按照正则rex指定的规则分割字符串
String[] s = pattern.split(matchStr);

 

                   分割后的结果:


     
 

         2、正则表达式替换字符串中的字符:

                   示例代码:

                   

String rex = "(\\{\\})+";
String matchStr = "a{}b{}c{}d{}e";
//获取属于rex正则的pattern对象。
Pattern pattern = Pattern.compile(rex);
//创建rex正则用于匹配字符串的匹配器 -- 同一个pattern可以有多个不同的匹配器
Matcher matcher = pattern.matcher(matchStr);
//用-替换{}
while (matcher.find()) {
matchStr = matcher.replaceFirst("-");
    matcher = pattern.matcher(matchStr);
    System.out.println(matchStr);
}

 

                   输出结果:

                   

a-b{}c{}d{}e
a-b-c{}d{}e
a-b-c-d{}e
a-b-c-d-e

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 PHP 的正则表达式函数 preg_match() 可以匹配字符串。以下是一个示例: ```php $str = "Hello, World!"; $pattern = "/\bWorld\b/"; if (preg_match($pattern, $str)) { echo "Match found!"; } else { echo "Match not found."; } ``` 这段代码将输出 "Match found!",因为 $str 中包含单词 "World",并且 $pattern 中使用了单词边界 \b 进行匹配。请注意,正则表达式模式需要用斜杠 / 包围。 ### 回答2: PHP正则表达式是一种强大的字符串匹配工具,能够根据特定模式来匹配和处理字符串。在PHP中,可以使用preg_match函数来进行正则表达式的匹配。 preg_match函数接受三个参数,分别是正则表达式模式、目标字符串和可选的匹配结果输出变量。函数会在目标字符串中查找是否存在与正则表达式模式匹配的内容,如果匹配成功,则返回true,否则返回false。 正则表达式模式由特定的字符符号组成,用于描述需要匹配的字符串规则。例如,使用\d可以匹配一个数字字符,\w可以匹配一个字母数字字符。 对于复杂的正则表达式模式,我们可以使用特定的字符类、量词和分组等特性来实现更准确的匹配。例如,使用[a-z]可以匹配一个小写字母,\d{2,4}可以匹配2到4个数字。 在进行匹配时,可以使用捕获组来提取感兴趣的部分字符串。捕获组是通过在正则表达式模式中使用小括号来定义的,使用圆括号包裹的部分将被定义为一个捕获组。 除了preg_match函数,PHP还提供了许多其他与正则表达式相关的函数,如preg_replace、preg_split等,用于替换、拆分和其他正则表达式操作。 总结来说,PHP正则表达式是一种强大的字符串匹配工具,可以根据特定的模式来匹配和处理字符串。在应用中,我们可以利用它来实现各种字符串操作,如验证、替换、拆分等。 ### 回答3: 在PHP中,正则表达式是一种强大的工具,用于匹配和处理字符串。它可以用于各种字符串操作,例如验证输入,提取数据以及替换特定的字符串。 使用正则表达式的基本步骤是: 1. 定义正则表达式模式,它由特定的字符和元字符组成,用于匹配目标字符串。 2. 使用preg_match函数进行匹配,该函数用于判断目标字符串是否与正则表达式模式匹配。如果匹配成功,则返回1;否则返回0。 3. 可以使用 preg_match_all函数来匹配目标字符串中的所有模式出现。 4. 使用preg_replace函数实现字符串中的替换操作,将匹配到的部分替换为指定的字符串。 5. 使用preg_split函数按照正则表达式模式分割字符串。 例如,如果我们想匹配一个字符串中是否包含数字,可以使用正则表达式模式"/\d/",其中\d表示数字。代码如下: ```php $str = "Hello,123 world"; if(preg_match("/\d/", $str)){ echo "字符串中包含了数字"; } else { echo "字符串中不包含数字"; } ``` 输出结果为:字符串中包含了数字。 以上是关于PHP正则表达式匹配字符串的基本操作,根据具体的需求和匹配规则,可以使用更复杂的模式和函数来实现更精确的匹配和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值