草庐IT

preg-quote

全部标签

使用 urllib.quote 对字符进行 Python 编码

我正在尝试对非ASCII字符进行编码,以便可以将它们放在url中并在urlopen中使用它们。问题是我想要像JavaScript这样的编码(例如将ó编码为%C3%B3):encodeURIComponent(ó)'%C3%B3'但是urllib.quote在python中返回ó作为%F3:urllib.quote(ó)'%F3'我想知道如何在Python中实现像javascript的encodeURIComponent这样的编码,以及我是否可以编码像中文这样的非ISO8859-1字符。谢谢! 最佳答案 在Python3中,urlli

使用Preg_replace将永久链接转换为SEO友好的永久链接

如何转换永久链接'watch.php?a=randyText1&e=randottext2'至'watch/a/randotext1/e/tandytext2.html'如果randottext1和andyText2是随机文本,则使用PHPPREG_REPPERPE?看答案您可以使用例如这个正则:(watch)\.php\?(a)=([^&]+)&(e)=([^&]+)并替换为:$1/$2/$3/$4/$5.html但这确实取决于您的要求。这是您需要创建这样的链接的唯一示例吗?您还可以简化正则义务,只使用watch\.php\?a=([^&]+)&e=([^&]+)并用watch/a/

python - urllib.quote() 抛出 KeyError

为了对URI进行编码,我使用了urllib.quote("schönefeld")但是当字符串中存在一些非ascii字符时,它会跳过KeyError:u'\xe9'Code:return''.join(map(quoter,s))我的输入字符串是köln、brønshøj、schönefeld等。当我尝试在windows中打印语句时(使用python2.7,pyscripterIDE)。但是在linux中它会引发异常(我猜平台无关紧要)。这就是我正在尝试的:fromcommandsimportgetstatusoutputqueryParams="schönefeld";cmdStri

python - urllib.quote() 抛出 KeyError

为了对URI进行编码,我使用了urllib.quote("schönefeld")但是当字符串中存在一些非ascii字符时,它会跳过KeyError:u'\xe9'Code:return''.join(map(quoter,s))我的输入字符串是köln、brønshøj、schönefeld等。当我尝试在windows中打印语句时(使用python2.7,pyscripterIDE)。但是在linux中它会引发异常(我猜平台无关紧要)。这就是我正在尝试的:fromcommandsimportgetstatusoutputqueryParams="schönefeld";cmdStri

java - Pattern.quote 方法有什么用?

我正在尝试使用以下代码来理解Pattern.quote:Stringpattern=Pattern.quote("1252343%8567hdfggf^$545");System.out.println("Patternis:"+pattern);产生输出:Patternis:\Q1252343%8567hdfggf^$545\E这里的\Q和\E是什么?文档描述说:ReturnsaliteralpatternStringforthespecifiedString.ThismethodproducesaStringthatcanbeusedtocreateaPatternthatwoul

java - Pattern.quote 方法有什么用?

我正在尝试使用以下代码来理解Pattern.quote:Stringpattern=Pattern.quote("1252343%8567hdfggf^$545");System.out.println("Patternis:"+pattern);产生输出:Patternis:\Q1252343%8567hdfggf^$545\E这里的\Q和\E是什么?文档描述说:ReturnsaliteralpatternStringforthespecifiedString.ThismethodproducesaStringthatcanbeusedtocreateaPatternthatwoul

preg_replace,名称为包括双桶姓氏的连字符

我如何允许用户使用连字符输入其姓氏(例如Jones-Smith)但是,请删除所有其他非掌肌?目前我正在使用此信息:$_POST['Surname']=preg_replace("/[^\w]+/","",$_POST['Surname']);这是完美的,除了它去除连字符。有建议吗?看答案如果您想保留连字符,只需将它们添加到否定的角色集中:$_POST['Surname']=preg_replace("/[^\w\-]+/","",$_POST['Surname']);

PHP preg_match UUID v4

我有一个包含UUIDv4的字符串$uuid='http://domain.com/images/123/b85066fc-248f-4ea9-b13d-0858dbf4efc1_small.jpg';如何使用preg_match()从上面获取b85066fc-248f-4ea9-b13d-0858dbf4efc1值?可以找到有关UUIDv4的更多信息here 最佳答案 $uuid='http://domain.com/images/123/b85066fc-248f-4ea9-b13d-0858dbf4efc1_small.jpg'

PHP:preg_match 正则表达式找不到正确的字符串

preg_match_all('/[\s]{1}(AA|BB|CC)+[\s]{1}/','AABB',$matches);结果是AA,但我需要AA和BB。 最佳答案 [\s]{1}序列*您用来匹配匹配项之间的空格重叠。"AA"之后的尾随空格与"BB"之前的空格相同。任何一个字符只能匹配一次,所以扫描找到"AA"后,只会在剩余的"BB"字符串中查找匹配,并没有找到一个。尝试使用单词边界转义序列\b代替。这匹配单词的开头和结尾但实际上不消耗任何字符,因此它可以匹配多次:preg_match_all('/\b(AA|BB|CC)+\b/

php - ereg 的预期生命周期,迁移到 preg

这个问题在这里已经有了答案:HowcanIconverteregexpressionstopreginPHP?(4个答案)关闭3年前。我开发了一个大型PHP应用程序(>100万行,已有10年历史),它广泛使用了ereg和ereg_replace-目前516中有1,768个独特的正则表达式类。我很清楚为什么ereg被弃用,但显然迁移到preg可能涉及很多。有谁知道ereg支持在PHP中可能会维持多长时间,和/或有任何关于在这种规模上迁移到preg的建议。我怀疑从ereg到preg的自动翻译是不可能/不切实际的?