草庐IT

libboost_regex

全部标签

regex - 重新匹配相同或部分先前匹配的组

我正在寻找一种方法来匹配之前匹配的部分或整个组。例如,假设我们有以下文本:这是一个很长的文本,“带有”一些我“需要”在它们自己的上下文中匹配的引用字符串像(.{1,20})(".*?")(.{1,20})这样的正则表达式给出以下输出:#|1stgroup|2ndgroup|3rdgroup------------------------------------------------------------------1|isaverylongtext|"with"|somequotedstrings2|I|"need"|toextractintheir目标是强制正则表达式从第1场比赛

regex - 什么是正则表达式来匹配 =,空格分隔后的所有事件?

我有/components/component[name=fan/10index=55]/cpu我想要一个regex给我fan/10和55。我试过=(.*)\s之类的东西,但没有用。但我猜它必须以某种方式使用捕获组(())来完成? 最佳答案 你可以使用=([^\]\s]+)参见regexdemo详情=-等号([^\]\s]+)-捕获第1组:]和空格以外的任何1个或多个字符。GOdemo:packagemainimport("fmt""regexp")funcmain(){s:="/components/component[name=

regex - 重复的、任意的捕获组

给定一个字符串,例如:static_string.name__john.id__6.foo__bar.final_string但是对于任意数量的label__value.组件,我如何重复捕获组,将它们拆分为标签和值,并捕获终止的final_string?对于以上我想要[name,john,id,6,foo,bar,final_string]当我事先不知道label__value.组件的数量时,这样的事情是否可能?如果重要的话,这适用于golang/RE2。更新:我没有在几行代码中做到这一点的奢侈,而是需要在一个正则表达式中做到这一点。正则表达式在我无法控制的应用程序的配置文件中定义,因

regex - 如何匹配包含unicode字符的完整字符串?

我想验证一个字符串,例如姓名。没有空格的字符串。对于普通的Ascii,以下正则表达式就足够了"^\w+$",其中^和$考虑了整个字符串。我尝试使用\pL字符类为支持多种语言的unicode字符实现相同的结果。但由于某种原因$不能帮助匹配字符串的结尾。我究竟做错了什么?代码示例在这里:https://play.golang.org/p/SPDEbWmqx0N我从以下位置复制粘贴的随机字符:http://www.columbia.edu/~fdc/utf8/go版本go1.12.5darwin/amd64packagemainimport("fmt""regexp")funcmain(){

regex - Golang 正则表达式引用子匹配

我正在尝试从正则表达式中提取子匹配值,但如果有必要,请忽略一组引号。到目前为止我有这个:网址:http://play.golang.org/p/lcKLKmi1Elpackagemainimport"fmt"import"regexp"funcmain(){authRegexp:=regexp.MustCompile("^token=(?:\"(.*)\"|(.*))$")matches:=authRegexp.FindStringSubmatch("token=llll")fmt.Println("MATCHES",matches,len(matches))matches=authR

regex - 用于密码检查的 PHP 正则表达式模式在 Go 中不起作用

看完thispost,我知道我需要使用反引号(`)来包装我的正则表达式模式。现在我有正则表达式模式/^(?=^.{8,}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s)[0-9a-zA-Z!@#$%^&*()]*$/检查密码模式是否正确。我已经用PHP对其进行了测试,它可以正常工作。但它在Go中不起作用。为什么?顺便问一下,反引号(`)变量的类型是什么?好像不是string类型。如何声明这个变量容器?测试代码packagemainimport("fmt""regexp")funcmain(){re:=regexp.MustCompile(`/^(?=^.

regex - 去正则表达式字符串验证

这个问题在这里已经有了答案:Matchexactstring(3个答案)关闭6年前。在go中有MatchString函数,可用于将字符串与正则表达式匹配,但是,如果找到与正则表达式匹配的子字符串,则该函数返回true。是否有一种方法/类似函数仅在匹配整个字符串时才返回true(例如,如果我有[0-9]{2}并且我的字符串为213,则返回值应该为false)。?还是应该从正则表达式字符串本身完成?

regex - 匹配时如何使一个词优先于其他词?

我有以下列表。IDAllStatuses1001{failed|processing|success}1002{failed}1003{success|failed}1004{processing|success}1005{failed|processing}我的需求是单独显示最乐观的状态。像这样IDBestStatus1001success1002failed1003success1004success1005processing有没有一种方法我可以用一个正则表达式查询来做到这一点,而不是说按顺序检查每个查询并返回我最坏的情况是三个正则表达式检查最终状态最乐观的状态?

regex - 如何制作重复捕获组?

我正在尝试解析以下字符串:`%%%First%%%part1%%%Second%%%part2`这一直持续到未知数量的部分......例如Third,Fourth,Another,Car,Airplane,etc...都被"%%%Something%%%"隔开我有:packagemainimport("fmt""regexp")funcmain(){reg:=regexp.MustCompile(`(?P%%%.*%%%)+`)match:=reg.FindStringSubmatch(`%%%First%%%part1%%%Second%%%part2`)iflen(match)==

regex - 使用 Golang 正则表达式查找一个整数后跟一个字符串

我想找到一个整数后跟术语“价格:”,无论是在输出中,我只需要打印必须排除术语“价格:”的整数。现在,我的代码是这样的,输出是[Price:100],但我只需要输出100。packagemainimport("regexp""fmt")conststr="Somestrings.Price:100$.Somestrings123"funcmain(){re:=regexp.MustCompile("Price:[[:space:]][0-9]+")fmt.Println(re.FindAllString(str,-1))} 最佳答案