草庐IT

regexp_extract

全部标签

go - RegExp.MatchString 是线程安全的吗?

是https://golang.org/pkg/regexp/#Regexp.MatchString如果我在http-requestgoutines中运行regexp.MustCompile("")是线程安全的?我不会在第一次编译后修改实例上的编译。我只是想知道它在读取时是否也兼容,或者我是否应该应用某种形式的互斥锁。 最佳答案 来自regexp.go的源文件ARegexpissafeforconcurrentusebymultiplegoroutines,exceptforconfigurationmethods,suchasLo

javascript - 转到 : regexp to swap cases

我想在Go中使用正则表达式交换大小写。我尝试在Javascript中使用类似的方法,但我不知道如何让Go理解$符号。funcswapcase(strstring)string{varvalidID=regexp.MustCompile(`[A-Z]`)returnvalidID.ReplaceAllString(str,strings.ToLower(str))/*varvalidID=regexp.MustCompile(`[a-z]`)returnvalidID.ReplaceAllString(str,strings.ToUpper(str))*/}这是我的尝试。它适用于将所有大

regex - 我使用 regexp.Compile (`^123(?:4)` ) 尝试从 "123"获取 "1234abcd"而结果是 "1234"

我正在使用go1.8.3进行编码,我想使用正则表达式包从"1234abcd"获取"123"。当我使用regexp.Compile("^123(?:4)")时,它变成了"1234"。在此编码:https://play.golang.org/p/jB7FmxWz9rpackagemainimport("regexp""fmt")funcmain(){test,err:=regexp.Compile(`^123(?:4)`)iferr!=nil{fmt.Println(err)return}input:="1234|wserw"fmt.Println(test.FindString(inpu

戈朗 : file extracted from tar throws permissions error

我已经编写了以下代码来对文件进行压缩,代码可以正常工作,但奇怪的是,如果我解压缩存档,文件权限就会消失,所以我无法读取它,除非我随后对文件进行chmod:packagemainimport("archive/tar""io/ioutil""log""os")funcmain(){c,err:=os.Create("/path/to/tar/file/test.tar")iferr!=nil{log.Fatalln(err)}tw:=tar.NewWriter(c)f,err:=os.Open("sample.txt")iferr!=nil{log.Fatalln(err)}fi,err

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)}好像第二个参数是关于匹配了多少次。我对吗?有人能给我一个肯定的答案吗?更喜欢官方文档或一些链接。 最佳答案

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

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