RegExp 正则表达式 方法 详解

RegExp 对象有 3 个方法:test()、exec() 以及 compile()。


test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

例子:

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:

true





exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

例子 1:

var patt1=new RegExp("e");

document.write(patt1.exec("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:

e

例子 2:

您可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 "g" 参数 ("global")。

如需关于如何修改搜索模式的完整信息,请访问我们的 RegExp 对象参考手册

在使用 "g" 参数时,exec() 的工作原理如下:

  • 找到第一个 "e",并存储其位置
  • 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置
var patt1=new RegExp("e","g");
do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null) 

由于这个字符串中 6 个 "e" 字母,代码的输出将是:

eeeeeenull




compile()

compile() 方法用于改变 RegExp。

compile() 既可以改变检索模式,也可以添加或删除第二个参数。

例子:

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free"));

patt1.compile("d");

document.write(patt1.test("The best things in life are free"));

由于字符串中存在 "e",而没有 "d",以上代码的输出是:

truefalse


String对象的match()方法应用RegExp

stringObject.match(regexp)
match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。

实例

例子 1

在本例中,我们将在 "Hello world!" 中进行不同的检索:

<script type="text/javascript">

var str="Hello world!"
document.write(str.match("world") + "<br />")
document.write(str.match("World") + "<br />")
document.write(str.match("worlld") + "<br />")
document.write(str.match("world!"))

</script>

输出:

world
null
null
world!

例子 2

在本例中,我们将使用全局匹配的正则表达式来检索字符串中的所有数字:

<script type="text/javascript">

var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g))

</script>

输出:

1,2,3

注:本文转载自w3cschool

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PGsql正则表达式是一种强大的工具,用于模式匹配和字符串操作。它可以帮助您查找、替换、拆分和验证字符串。下面是一些常用的PGsql正则表达式元字符和功能的详细解释: 1. 字符匹配: - `.`: 匹配任意单个字符,除了换行符。 - `[abc]`: 匹配字符集的任意一个字符。例如,`[abc]`匹配`a`、`b`或`c`。 - `[^abc]`: 匹配除了字符集的任意一个字符外的其他字符。例如,`[^abc]`匹配除了`a`、`b`或`c`之外的任意字符。 - `[a-z]`: 匹配指定范围内的字符。例如,`[a-z]`匹配小写字母。 - `\d`: 匹配任意一个数字字符。 - `\D`: 匹配任意一个非数字字符。 - `\w`: 匹配任意一个字母、数字或下划线字符。 - `\W`: 匹配任意一个非字母、非数字或非下划线字符。 2. 重复匹配: - `*`: 匹配前面的元素零次或多次。 - `+`: 匹配前面的元素一次或多次。 - `?`: 匹配前面的元素零次或一次。 - `{n}`: 匹配前面的元素恰好 n 次。 - `{n,}`: 匹配前面的元素至少 n 次。 - `{n,m}`: 匹配前面的元素至少 n 次且不超过 m 次。 3. 边界匹配: - `^`: 匹配字符串的开头。 - `$`: 匹配字符串的结尾。 - `\b`: 匹配单词边界。例如,`\bword\b`匹配独立的单词 "word",不会匹配 "words" 或 "sword"。 4. 分组和捕获: - `(` and `)`: 创建一个捕获组,用于分组和提取匹配的部分。 - `(?:)`: 创建一个非捕获组,用于分组但不提取匹配的部分。 5. 特殊字符: - `\`: 转义字符,用于匹配特殊字符本身。例如,`\.`匹配句点字符。 - `|`: 用于指定多个模式的一个。例如,`cat|dog`匹配 "cat" 或 "dog"。 - `[](){}^$.|*+?`: 这些字符在正则表达式具有特殊含义,如果要匹配它们本身,需要使用转义字符`\`。 6. 函数: - `regexp_match(string, pattern)`: 返回匹配正则表达式的所有子字符串数组。 - `regexp_replace(string, pattern, replacement)`: 使用指定的替换字符串替换匹配正则表达式的子字符串。 - `regexp_split_to_array(string, pattern)`: 使用正则表达式将字符串拆分为数组。 - `regexp_split_to_table(string, pattern)`: 使用正则表达式将字符串拆分为表。 这些是PGsql常用的正则表达式元字符和功能。您可以根据需要使用它们来进行模式匹配和字符串操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值