草庐IT

regex-PHP

全部标签

regex - Go regex,Negative Look Ahead 替代方案

我正在尝试执行正则表达式(?使用正则表达式。匹配值类似于[ua]和[ua_enc]和不匹配应该是{[ua]}和{[ua_enc]}由于Go不支持Negativelookahead,对此的替代表达式可能是什么? 最佳答案 对此没有替代的表达方式。使用普通(?:[^{]|^)(...)(?:[^}]|$)来捕获预期的匹配并断言前一个和下一个字符不是大括号工作类型:您将需要使用第一个捕获组而不是完整匹配,并且当两个匹配之间只有一个字符时它将失败(例如[foo]_[bar])。实际上,最好的方法是使用FindAllStringSubmatc

regex - 不匹配句子中否定词的更易读的方式

我试图不匹配句子中的否定词,例如形容词与not,never。目前我使用字符级否定。不的示例^(?:[^n]+|n(?:$|[^o]|o(?:$|[^t]|\w)))。对于一个或多个否定词(not,never,any,nobody,......)是否有一种简单的方法(更具可读性)?这是not否定的代码:packagemainimport("fmt""regexp")funcmain(){sentence:="heisnotsatisfied"re:=regexp.MustCompile(`^(?:[^n]+|n(?:$|[^o]|o(?:$|[^t])))\ssatisfied`)fmt

regex - 在 golang 正则表达式中获取子组的命名列表

我正在寻找一个返回map[string]interface{}的函数,其中interface{}可以是一个slice,一个map[string]interface{}或一个值。我的用例是像下面这样解析WKT几何图形并检索点值;donut多边形示例:多边形((00,010,1010,100,00),(33,37,77,73,33))正则表达式(出于可读性目的,我自愿设置\d只匹配整数):(POLYGON\((?P\((?P(?P(\d\d),){3,})(?P\d\d)\),)*(?P\((?P(?P(\d\d),){3,})(?P\d\d)\))\))我有一个函数(从SO复制)可以检索

php - php 和 golang 之间的 lz4 问题

我尝试在php中使用lz4_compress压缩数据并使用https://github.com/pierrec/lz4解压缩数据在戈兰但它失败了。lz4_compress输出似乎遗漏了lz4header,block数据也略有不同。请帮我解决问题。输出:DAAAAMBIZWxsbyBXb3JsZCE=packagemainimport("bytes""encoding/base64""fmt""github.com/pierrec/lz4")funcmain(){a,_:=base64.StdEncoding.DecodeString("DAAAAMBIZWxsbyBXb3JsZCE="

regex - 使用正则表达式替换 Go 中的文本

我在Go中工作,我有一个文本文件,我想在其中替换基于正则表达式的文本,但即使我已经测试了正则表达式,它也没有按预期工作here它说有一场比赛。我在Playground上做了基本的例子,我得到了同样的结果。我有3个具有相同标签的文本文件(//==start==和//==end==),它适用于第一个,但不适用于第二个和第三个。什么可以避免正则表达式正确替换文本?https://play.golang.org/p/nZdHg5IfZ89这是我使用的代码,我粘贴了所有字符串,因为我想确保它不会影响我packagemainfuncmain(){varre=regexp.MustCompile(M

regex - 在括号外用逗号标记

我正拼命尝试标记具有以下格式的过滤器字符串:price:gte:5.99,price:lte:10.00,model:in:[test1,test2]陷阱在于,逗号不仅用于分隔过滤器选项,还用作选项列表的分隔符:[test1,test2]应用标准正则表达式分词器表达式[^,]+给我:price:gte:5.99price:lte:10.00model:in:[test1test2]但是,显然,我想要:price:gte:5.99price:lte:10.00model:in:[test1,test2]我怎样才能做到这一点? 最佳答案

php - 使用golang解密用php openssl_encrypt加密的文件

首先。我在这里如履薄冰!我有一个从php获得的加密文件。我正在尝试用golang解密它。php应用程序使用公共(public)RSAkey来加密用于使用aes-256-cbc加密的key。我已经创建了一些概念验证代码,但我做不对。尽管key和iv在两边看起来都是正确的,但也有不正确的地方。结果只是垃圾。我怀疑某些编码不匹配(期望base64,获取字符串字节......某事)或者我误解了一些概念。加密:解密:packagemainimport("crypto/aes""crypto/cipher""crypto/rand""crypto/rsa""crypto/x509""encodin

PHP SimpleXML 缺少属性

这不是一个骗人的问题。其他人缺少print_r中的属性。但是我根本无法访问属性xlink:href。这是我尝试过的:$xml=simplexml_load_string($imageSVG);$image=$xml->g->image;//works$style=$xml->g->image->style;//works$style=$xml->g->image['style'];//works$remoteHref=$xml->g->image['xlink:href'];//doesn'twork$remoteHref=$xml->g->image['href'];//doesn'

php - 如何用php递归更新xml属性值?

我正在编写一个函数来将给定xml文件的所有属性值重置为空字符串。有人可以帮我修复此功能以执行请求的任务吗?谢谢!//resetallattributevaluestoNULLor""functionresetAttributes($xml){foreach($xml->children()as$child){foreach($child->attributes()as$attr){$attr="";}resetAttributes($child);}return$xml;}$xml=simplexml_load_file($xmlFile);resetAttributes($xml);

php xpath 将节点值作为数组返回

我正在使用xpath获取cms页面的值,video?id=blahblah我的PHPXpath代码是xpath("//video[@id=$id]/title");我对所有值都这样做,下面是我的xml代码Test我想要标题标题说测试,但它说的是数组 最佳答案 XPath查询返回一系列结果节点,而不是单个结果节点。SimpleXML将其作为SimpleXMLElements数组返回(具有合理的__toString实现,因此您可以直接在字符串上下文中输出它们)。因此,如果您确定只会得到一个结果,只需选择数组的第一项:$title=$db