草庐IT

menta-regex

全部标签

regex - 用于验证图像的正则表达式

我正在用golang编写一个网络应用程序。我正在使用正则表达式来验证URL。但是我无法在URL验证中验证图像(abc.png)。varvalidPath=regexp.MustCompile("^/$|/(home|about|badge)/(|[a-zA-Z0-9]+)$")上面的URL取/home/,/about/但不能取/abc.png。我的意思是.本身不工作我尝试了以下正则表达式,但没有帮助varvalidPath=regexp.MustCompile("^/$|/(home|about|badge|.)/(|[a-zA-Z0-9]+)$")varvalidPath=regex

regex - 如何使用正则表达式在 golang 的括号内获取所有内容

我试图在golang正则表达式中获取以下sql语句外括号内的所有内容。Categories(//=outsidebracketPersonIDint,LastNamevarchar(255),FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255))//=outsidebracket我如何使用正则表达式来仅识别外括号并返回外括号之间的所有内容? 最佳答案 您只需要找到第一个(,然后匹配直到最后一个)的所有字符`(?s)\((.*)\)`详细信息:(?s)-允许.匹配任何字符

regex - golang正则表达式替换单个数字

我正在尝试替换单个数字,前提是它们不伴随单词字符。例如[*:*:1]a2b*d3n4q测试5测试6应该改成[*:*:*]a2b*d3n4qtest*test*在上面的列表中,数字1、5和6已被替换为*,但是2、3和4没有被替换,因为它们伴随着一个单词字符。下面的代码有效,但部分有效https://play.golang.org/p/OC6bk4PLyqs:="[*:*:1]a2b*d3n4qtest5test6"re:=regexp.MustCompile("[^0-9A-Za-z_][0-9]+[^0-9A-Za-z_]")s=re.ReplaceAllString(s,"*")fm

regex - 使用 OR 正则表达式删除过多的破折号

我正在尝试从字符串中删除所有多余的破折号。StateFileRegexDashes=regexp.MustCompile(--+?|^-+?|-+$)上面的正则表达式似乎适用于regex101,但不适用于我的代码。我在想这可能是因为'g|globalmodifier',但我认为这是由ReplaceAllString()中的'All'部分解决的GolangPlayground:https://play.golang.org/p/ZR72gZEhZ_正则表达式101:https://regex101.com/r/tUYHo1/1编辑:问题是我用-破折号替换了所有内容,我实际上想删除前缀和结

regex - golang 正则表达式 ReplaceAllString

我正在用Go编程语言编写一个聊天机器人程序。在此函数中,它读取用户字符串以检查正则表达式,然后删除该表达式并在找到时替换为另一个字符串。它成功找到匹配项,但不会将其附加到字符串input="Iamfeelinghappy"pattern2:=[]string{`.*iam.*`,`.*IAM.*`,`.*I'm.*`,`.*i'm.*`,`.*im.*`,`.*Iam.*`}//loopthroughpattern2array//ifpatternisfoundextractsubstring//setresponsefor_,checkPattern:=rangepattern2{r

regex - 如何匹配多种语言

我正在用golang编写一个正则表达式来捕获可能以不同语言出现的主题标签。例如,很明显一个是英语,但可能会有拉丁语或阿拉伯语用户尝试使用这些字符集创建主题标签。我知道unicode字符类名称,但如何在不为每个字符生成正则表达式的情况下一次使用多个字符类名称?示例代码:r,err:=regexp.Compile(`\B(\#[[:ascii:]]+\b)[^?!;]*`)这将匹配"#hello#ذوق"并输出[]string{#hello,#ذوق}但不匹配"#ذوق" 最佳答案 我建议使用\B#[\p{L}\p{N}\p{M}_]+

regex - Go lang 从字符串中获取匹配的子字符串

我正在尝试从引号之间的字符串中提取所有单词。这是我当前的代码:funcStrExtract(wordstring)[]string{r,_:=regexp.Compile(`".*"`)result:=r.FindAllString(word,-1)RemoveDuplicates(&result)return(result)}测试代码here输入如下:`Higuys,thisisa"test"anda"demo"ok?`我得到输出:["test"anda"demo"]但我想得到:[testdemo]请帮我解决这个问题,或提出更好的替代方案。 最佳答案

regex - 编写没有否定的正则表达式

在之前的post我已经寻求一些帮助来重写一个没有否定的正则表达式开始正则表达式:https?:\/\/(?:.(?!https?:\/\/))+$结束于:https?:[^:]*$这工作正常,但我注意到,如果我的URL中除了来自http\s的:之外还有:,它不会选择。这是一个不起作用的字符串:sometextsometexhttp://websites.com/path/subpath/#query1sometexthttp://websites.com/path/subpath/:query2你可以注意到:query2我如何修改此处列出的第二个正则表达式,以便它选择包含:的url。预

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

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

regex - Golang 正则表达式提取 2 个分隔符之间的文本 - 包括分隔符

如标题中所述,我在golang中有一个程序,其中有一个带有重复模式的字符串。我有这个模式的开始和结束定界符,我想从字符串中提取它们。以下为伪代码:string:="...ThisisprecedingtextPATTERNBEGINSHERE(patterncancontinueforanynumberoflines...);thisistrailingtextthatisnotpartofthepattern"简而言之,我试图从上面的示例中提取所有以“PATTERNBEGINSHERE”开头并以“;”结尾的模式。我需要帮助来弄清楚这个正则表达式是什么样的。如果需要任何其他信息或上下文