草庐IT

REGEXP_EXTRACT

全部标签

javascript - 防止污染 JavaScript 中 RegExp 构造函数的属性

这是个难题,我知道如何解决它,但我想知道是否有(更)简单的方法。简而言之,无论何时在JavaScript中执行正则表达式,都会在RegExp构造函数中为某些属性赋值。例如:/foo/.test('football')//->trueRegExp.input//->"football"RegExp.rightContext//->"tball"我想在不影响这些属性的情况下执行正则表达式。如果那不可能(我认为不可能),我想至少在之后将它们恢复到以前的值。我知道input/$_是可写的,但大多数其他的似乎不是。一种选择可能是重建一个正则表达式来重新应用所有这些值,但我认为这会非常困难。我想要

JavaScript 和正则表达式 : literal syntax Vs. RegExp 对象

我在处理这个小的JavaScript代码时遇到了一些麻烦:vartext="ZTestYeah!Z";//Withliteralsyntax,itreturnstrue:good!alert(/(Z[\s\S]*?Z)/g.test(text));//ButnotwiththeRegExpobjectO_ovarreg=newRegExp('Z[\s\S]*?Z','g');alert(reg.test(text));我不明白为什么文字语法和RegExp对象不给我相同的结果...问题是我必须使用RegExp对象,因为稍后我会有一些变量。有什么想法吗?提前致谢:)

javascript - 使用 "new RegExp"和使用正斜杠符号创建正则表达式有什么区别?

使用newRegExp("regex");和/same_regex/来测试目标字符串有什么区别吗?我问这个问题是因为我在使用这两种方法时得到了不同的验证结果。这是我用来验证电子邮件字段的片段:varemail="didxga@gmail.comblah@foo.com";varregex1=newRegExp("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$");v

javascript - RegExp 数字范围(1 到 36)

我搜索了很多,找不到这个RegExp的解决方案(我不得不说我在Reg.Expressions方面不是很有经验)。我想测试一个介于1和36之间的数字,不包括0和37及以上。到目前为止我得到的几乎可以工作(它不接受17、18、19、27、28、29)...^[1-9]{1}$|^[1-3]{1}[0-6]{1}$|^36$;有人可以帮帮我吗? 最佳答案 你知道\d,对吧?^([1-9]|[12]\d|3[0-6])$在控制台试试这个:functiontest(){for(vari=0;i=1&&i");}}

javascript - RegExp.$1 是做什么的

我在JScript中遇到过一段代码:RegExp.$1有人知道它的作用吗?如果我自己输出它,我什么也得不到,甚至连错误都没有。我在http://www.w3schools.com/jsref/jsref_obj_regexp.asp找不到任何引用资料在这段代码之前有一个正则表达式搜索,我怀疑这与它有关:.search(/^__product\[(.+)\]$/) 最佳答案 文字表达式RegExp.$1将为您提供最后一次运行的正则表达式的第一个捕获组的值。不管那个正则表达式是什么。例如:varmatch=/_(.*)_/.exec('

php - Python : extract . 将数据提交到具有机械化的表单后的 csv 结果

我刚开始使用Python从网络中提取数据。感谢其他一些帖子和这个webpage,我想出了如何使用模块mechanize将数据提交到表单。现在,我一直在寻找如何提取结果。提交表单时有很多不同的结果,但如果我可以访问csv文件,那将是完美的。我假设您必须使用模块re,但是您如何通过Python下载结果?运行作业后,csv文件在这里:Summary=>Results=>DownloadHeavyChainTable(您可以直接点击“loadexample”查看网页运行情况)。importreimportmechanizebr=mechanize.Browser()br.set_handle_

php - 使用 php regexp 重新排序字符串的行

我需要使用phpregexp对字符串中的行重新排序。但我不知道如何告诉php不要将同一行更改两次。让我解释一下。输入字符串是:$comment="sometext{Varinat#3smth}{Varinat#4smthelse}{Varinat#1smthelse1}someanothertext{Varinat#2smthelse2}{Varinat#5smthelse5}";我需要订购变体:$comment="sometext{Varinat#1smthelse1}{Varinat#2smthelse2}{Varinat#3smth}someanothertext{Varinat

php - 使用 PHP RegExp 嵌套 [ ]

我试图确保PHP中的字符串仅包含字母、连字符或撇号。为此,我想使用[]制作一系列有效字符。所以我的想法是这样做:[[A-Za-z]-']//Weirdsyntaxhighlightinghere这行得通吗?是否可以像这样嵌套括号?这是为了匹配单个字符,该字符可以是字母、连字符或撇号。我可能天真地解决了这个问题,没关系,我只是想知道像这样将括号放在括号内在PHP中是否合法。谢谢! 最佳答案 我假设您在其中一个正则表达式匹配函数中使用它(例如preg_match("[[A-Za-z]-']*",...),在那种情况下,这不是PHP语法的

php - 正则表达式:除特定字符外的所有 ASCII 字符(PHP、FILTER_VALIDATE_REGEXP)

找到以下很好的正则表达式来匹配所有可打印的ASCII字符:[-~]我的代码是这样的:$string="MyASCIIstringis(not)veryfunny.";filter_var($string,FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>"/^[-~]*$/")));这几乎就是我所需要的,但是我想排除冒号。我试过[-~\:]和[-~^:]都不起作用。什么是正确的正则表达式以及如何正确排除单个字符? 最佳答案 看起来您正在寻找这样的正则表达式:(?=[-~]

PHP - extract() 类型

PHP的extract()函数可以采用几种extract_types之一。但是extr_prefix_same和extr_prefix_if_exists有什么区别呢?手册听起来像是,在任何一种情况下,如果变量名已经存在,新变量将被添加前缀。谢谢! 最佳答案 使用EXTR_PREFIX_IF_EXISTS时,如果变量不存在,则也不会创建带前缀的版本。在这个例子中:functiontest(){$a=12345;extract(array('a'=>1,'b'=>2,'c'=>3),EXTR_PREFIX_IF_EXISTS,'my_