草庐IT

regexp_substr

全部标签

go: regexp:FindAll() 中的 n 参数是什么

我使用regexp.FindAll()来获取所有匹配项。n的参数我看不懂,在officereference,没有解释。如何设置参数。//FindAllisthe'All'versionofFind;itreturnsasliceofallsuccessive//matchesoftheexpression,asdefinedbythe'All'descriptioninthe//packagecomment.//Areturnvalueofnilindicatesnomatch.func(re*Regexp)FindAll(b[]byte,nint)[][]byte{}

regex - 如何使用 Regexp 包 ReplaceAll 函数替换 Go 中的字符?

我不熟悉类似C的语法,想编写代码来查找和替换源字符串中的所有“A”到“B”,比如使用Regexp包ReplaceAll或ReplaceAllString函数的“ABBA”?如何设置类型Regexp、src和repl?这是ReplaceAllcodesnippet来自Go文档://ReplaceAllreturnsacopyofsrcinwhichallmatchesfortheRegexp//havebeenreplacedbyrepl.Nosupportisprovidedforexpressions//(e.g.\1or$1)inthereplacementtext.func(re

regex - Golang regExp 用于匹配字符直到一个字符串(不包括子字符串)

我有一个用例:需要匹配以下.输入字符串:abpcdcccddd匹配条件:匹配所有以'a'开头,'ccc'结尾的字符示例:abpcdccc(在匹配中成功忽略了第4个位置中的单个字符“c”)你能帮我用Golang正则表达式吗? 最佳答案 我不确定我是否完全理解您想要的是什么,但我可能会让您走上正轨。如果你想匹配一个字符串,它有一个a,后跟一些单词字符,然后是ccc,那么你可以简单地使用这样的东西:a\w+ccc如果您希望字符串分别以a和ccc开始和结束,您可以这样做:^a\w+ccc$如果你只想允许特定的字符,比如小写字母,你可以将它们

regex - 有没有办法使用 Go.Regexp 匹配常量字符串以外的所有内容?

我发现了很多类似的questions不适用于Goregexsyntax.我尝试匹配的字符串是anything/anything/somestring的形式。使用模式\/.*\/.*\/(.*),我将匹配somestring,但我试图匹配除包含的字符串之外的任何内容>一些字符串。大多数答案建议使用像\/.*\/.*\/((?!somestring).*)这样的东西,但是在golangregexp中我得到:?前面的token是不可量化的。澄清一下:/test/test/MATCH会产生匹配,而/test/test/somestring不会。使用(有限的)Go正则表达式语法是否可行?

regex - Regexp.FindAllStringSubmatch()中,第二个参数是做什么的?

在这个方法中:func(re*Regexp)FindAllStringSubmatch(sstring,nint)[][]string第二个参数是做什么的?我试过:re,_:=regexp.Compile("a")rs:=re.FindAllString("aaaaa,",**1**)//1getone'a',2gettwo'a's,3getthree'a's...for_,v:=rangers{fmt.Println(v)}好像第二个参数是关于匹配了多少次。我对吗?有人能给我一个肯定的答案吗?更喜欢官方文档或一些链接。 最佳答案

字符串.替换器 : how to replace all substrings at once?

我正在尝试使用Replacer替换字符串中的多个不同字符,但在替换一个字符串时遇到问题。输出有两个下划线而不是一个,如果我尝试使用其他Replacer进行替换,那么它无法完全替换它。尝试GoPlayground上的代码:packagemainimport("fmt""strings")//Expectingoutputtobeemp_my_statsfuncmain(){varinputstring="/v1.0/emp/emp_1/my_stats"replacer:=strings.NewReplacer("/v1.0/","","/","_","emp_1","")//repla

regex - regexp.Compile 和 regexp.CompilePOSIX 有什么区别?

谁能提供一些例子来解释regexp.Compile之间的区别?和regexp.CompilePOSIX?我阅读了文档。但是我无法得到直观的理解。 最佳答案 Perl和POSIX兼容的正则表达式在很大程度上相似,但在某些关键方面有所不同,例如submatching。这个提到here:POSIXdefinesthattoresolvesubmatches,firstchosethematchthatstartsleftmostinthestring.(ThisistraditionalPerlbehaviorbutherethingsd

linux - VIM : How to copy all lines having a substring to another file/buffer?

我想在一个函数内搜索,并将在该范围内调用不同函数的所有行复制到不同的文件。我知道我可以通过视觉选择来限制搜索范围,而且搜索很容易——但我没有找到一种方便的方法将所有搜索结果复制到任何缓冲区(然后我可以将其粘贴到另一个文件进行分析)。..有人可以指出解决方案吗(我几乎可以肯定这会很简单,但出于某种原因,它对我来说并不明显!!)? 最佳答案 您可以使用::let@a=''"clearregistera.Afasteralternativewouldbe“qaq”innormalmode(thanksZyX):g/pattern/yA"y

regex - 如何在awk中获取regExp的子表达式值?

我正在分析日志包含如下信息:y1e","email":"","money":"100","coi我想获取金钱的值(value),我使用了“awk”,例如:greppayaction.log|awk'/"money":"([0-9]+)"/',那我怎样才能得到([0-9]+)中的子表达式值呢? 最佳答案 如果你有GNUAWK(gawk):awk'/pay/{match($0,/"money":"([0-9]+)"/,a);printsubstr($0,a[1,"start"],a[1,"length"])}'action.log如果不

php - filter_var 使用 FILTER_VALIDATE_REGEXP

我正在练习我的php初学者技能,想知道为什么这个脚本总是返回FALSE?我做错了什么?$namefields='/[a-zA-Z\s]/';$value='john';if(!filter_var($value,FILTER_VALIDATE_REGEXP,$namefields)){$message='wrong';echo$message;}else{$message='correct';echo$message;} 最佳答案 正则表达式应该在选项数组中。$string="Matchthisstring";var_dump(fi