如何用正则表达式匹配指定字符开始和指定字符...

如何用正则表达式匹配指定字符开始和指定字符结束
赵风莲 来自: 网页 2020-09-30 11:20

声明:本网站依照法律规定提供财经资讯,未授权或允许任何组织与个人发布交易广告。对任何广告信息请谨慎交易,谨防诈骗。举报邮箱:xxxxxxxxx@qq.com

2020-09-30 11:44最佳答案

(姓名:)(.*)(,)(.*),这样取\2  得到的是:中国人,地址。

正则表达式对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式模式描述在搜索文本时要匹配的一个或多个字符串。

扩展资料:

在正则表达式中,放在圆括号中的是分组,按括号出现顺序可用\1,\2...\9(或$1,$2...$9)引用整个正则用\0或$0引用。因此替换中\1引用了括号中匹配的内容,然后加上要添加的字符。

其中:

\S: 表示匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\s: 表示匹配匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

*: 表示匹配前面的子表达式零次或多次。

[\s\S]: 表示出现空白和非空白中的任意一个字符,即是任意字符。

参考资料来源:

其他回答(共7条)

  • 2020-09-30 11:41 龚崇松 客户经理

    主要是用正则表达式的分组匹配技术。


    1、以某字符结尾:例如sex$;


    2、中间不包含该字符串:^((?!sex).*)


    3、最后合起来就是:^((?!sex).*)sex$

    “正则表达式”选中以某些字符开始,某些字符结尾的字符串?的含义如下:

    字符 含意:\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b" ,当b 前面加了反斜杆后/\b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa ,加了"\"后,/a\*/将只匹配"a*"。

    ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"

    $ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"

    * 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa

    + 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa

    ? 匹配前面元字符0次或1次,/ba*/将匹配b,ba

    (x) 匹配x 保存x 在名为$1...$9的变量中x|y 匹配x 或y,{n} 精确匹配n 次,{n,} 匹配n 次以上

    {n,m} 匹配n-m 次,[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)

    [^xyz] 不匹配这个集合中的任何一个字符,[\b] 匹配一个退格符,\b 匹配一个单词的边界

    \B 匹配一个单词的非边界,\cX 这儿,X 是一个控制符,/\cM/匹配Ctrl-M。

  • 2020-09-30 11:38 齐方洲 客户经理

    1. 以某个字符串开始  是用正则的 ^

    2. 以某个字符串结束  是用正则的 $

    3. 中间的所以字符 可以用 .*    

      1. . 表示任意字符

      2. * 表示0次到多次匹配

      举例:

      var a = 'adsdfsefsdfsgsrgdsgasdfsadfe';
       /^a.*e$/.test(a)        //返回true;


  • 2020-09-30 11:35 龙展航 客户经理

    (姓名:)(.*)(,)(.*),这样取\2  得到的是:中国人,地址。

    1.表达式内固定内容的字符串能不写尽量不写,能简写的尽量简化来写(如前面写的abc部分不能写死)

    2.可以少量使用前瞻(正向),后瞻(反向)基本不学,学了还要研究那些浏览器支持,不敢用,太多了也学不动。

    3.NoJS(Not Only JavaScript);不仅仅是浏览器中的js;不过js的正则/exp/字面量写法简洁到没盆友(哪个语言),函数、对象、字符串统统不需要。

    扩展资料:

    在test.txt文件中的每一行中搜索正则表达式r.t,并打印输出匹配的行。正则表达式r.t匹配一个r接着任何一个字符再接着一个t。所以它将匹配文件中的rat和rut,而不能匹配Rotten中的Rot,因为正则表达式是大小写敏感的。

    要想同时匹配大写和小写字母,应该使用字符区间元字符(方括号)。正则表达式[Rr]能够同时匹配R和r。所以,要想匹配一个大写或者小写的r接着任何一个字符再接着一个t就要使用这个表达式:[Rr].t。

    要想匹配行首的字符要使用抑扬字符(^)——有时也被叫做插入符。例如,想找到text.txt中行首"he"打头的行,你可能会先用简单表达式he,但是这会匹配第三行的the,所以要使用正则表达式^he,它只匹配在行首出现的he。

    有时候指定“除了×××都匹配”会比较容易达到目的,当抑扬字符(^)出方括号中时,它表示“排除”,例如要匹配he ,但是排除前面是t or s的情形(也就是the和she),可以使用:[^st]he。

    参考资料:

  • 2020-09-30 11:32 黄皖疆 客户经理

    a.*?b就是a开始b结束的匹配
    如果要限制是一行的开头和末尾的话
    就是
    ^a.*?b$
  • 2020-09-30 11:29 齐晓彬 客户经理

    需要用到正序和逆序环视
    (?=指定结尾字符).+(?<=指定开头字符)
  • 2020-09-30 11:26 齐春影 客户经理

    ^表示文本开始; $表示文本结束;
    ^a.*b$ 匹配a开头,b结束的文本

    正则表达式,又称规则表达式。

    在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

    正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

  • 2020-09-30 11:23 黄益民 客户经理

    天用dedecms写采集规则的时候发现一不小心,把大量无用的字符也采集下来了,重写规则重新集采是不太可能的了,那么多的数据,好再dedecms功能很强大,即使采集下来后也可用替换功能将无用字符给替换掉,于是有了今天的问题。正则匹配指定字符开始和指定字符结束,如以a开始结束的正则表达式为:a.*?b ,即以a开始b结束的字符可能被匹配。顺便将dedecms批量改动太的sql语句记下来,伪静太或动态页面的时候很有用。
    进入后台→系统→SQL命令行工具→运行SQL命令行: 单行命令执行查询命令:
    1.将所有文档设置为“仅动态”:update dede_archives set ismake=-1
    2.将所有文档设置为“仅静态”:update dede_archives set ismake=1
    3.将所有栏目设置为“使用动态页”: update dede_arctype set isdefault=-1
    4.将所有栏目设置为“使用静态页”: update dede_arctype set isdefault=1

相关百科精选

  • 如何购买一... 家庭财产与个人生活息息相关,...

  • 教育投资保险 教育投资保险具有的强制储蓄功能,同时教育保险的保费豁免条款可以令缴费的大人出现状况时,由保险公司来代交剩余的保费。这种是有利于被保人的一项条款,受到很多人的赞赏。在与不同阶段教育相对应的时间段拿到确定