我在StackOverflow中阅读了很多问答,但我仍然很难获得RegEX.我有字符串12_13_12
.
如何用,替换最后一次出现的12 aa
.
最终结果应该是12_13_aa
.
我真的很想解释你是怎么做到的.
我用逗号分隔标记,我需要将它们转换为以空格分隔的冒号中的标记.我想在notepad ++中使用正则表达式,但遇到了问题.
我的意见是:
aaaaa, bbb ,cccc, hhhh, fff,t
Run Code Online (Sandbox Code Playgroud)
我想得到的结果是:
aaaaa bbb cccc hhhh fff t
Run Code Online (Sandbox Code Playgroud)
每个令牌只有10个字符
我的问题是如何使输出正好10个字符?
我需要用RegEx验证一个性别的值,例如:24°12'55,4"或32°24'15,4".
现在,我有下一个RegEx,它与学位和分钟成功匹配:
^([0-8][0-9]|[9][0])°\s([0-4][0-9]|[5][9])'$
Run Code Online (Sandbox Code Playgroud)
但是,当添加秒验证器时出现问题:
^([0-8][0-9]|[9][0])°\s([0-4][0-9]|[5][9])'\s([0-4][0-9]|[5][9],[0-9])''$
Run Code Online (Sandbox Code Playgroud)
我是RegEx的新手,有什么想法吗?
查看RegExp对象文档并找不到我想要的方法,或者我只是不够努力.
说我有文字:
var text = "§193:And Some Text§";
Run Code Online (Sandbox Code Playgroud)
还有一个RegExp对象:
var reg = /§([0-9]+):(.*?)§/;
Run Code Online (Sandbox Code Playgroud)
运行reg.match(text);
显然会给我一个像这样的数组:
["§193:And Some Text§","193","And Some Text"]
Run Code Online (Sandbox Code Playgroud)
有没有办法改变这个过程?这样我就给一个函数提供了一个数组,它与RegExp具有相同数量的匹配组,并给了我一些文本的样子:
var reg = /§([0-9]+)§(.*?)§/;
var data = ["293","Some New Text"];
var text = reg.rmatch(data);
Run Code Online (Sandbox Code Playgroud)
而text
现在将是§293:Some New Text§
我试图为我的代码创建一个插件系统,其中一部分需要从插件中获取regexp并在多个进程中使用它,例如提取数据,从一些数据重构原始文本.
现在我必须让插件提供一个能够返回原始文本的函数,并且希望有一种方法可以使它成为所以他们没有必要通过重复使用正则表达式.我可以将一个自定义函数原型化到RegExp类上然后使用它,我只是希望它已经有一些进程来执行此操作.
我一直有正则表达式的麻烦,我基本上有一个网址,例如:
http://somedomain.com/something_here/bla/bla/bla/bla.jpg
我需要的是一个preg_replace()来替换something_here
一个空字符串,并保留其他所有内容.
我尝试了以下内容,它取代了错误的部分:
$image[0] = preg_replace('/http:\/\/(.*)\/(.*)\/wp-content\/uploads\/(.*)/','$2' . '',$image[0]);
Run Code Online (Sandbox Code Playgroud)
这最终只留下我想要替换的部分,而不是实际替换它!
我只想用另一个单词(rwd)替换每行中第一次出现的单词(默认)。
如下我想要这个:
../app/design/adminhtml/default/default/layout/pmodule.xml
../app/design/frontend/default/default/layout/pmodule.xml
../app/design/frontend/default/default/template/company/module/gmap.phtml
Run Code Online (Sandbox Code Playgroud)
替换成这样:
../app/design/adminhtml/rwd/default/layout/pmodule.xml
../app/design/frontend/rwd/default/layout/pmodule.xml
../app/design/frontend/rwd/default/template/company/module/gmap.phtml
Run Code Online (Sandbox Code Playgroud)
我尝试过\bdefault\b
但没有成功。
我有以下字符串.
/v/dkdkd-akdoa?
Run Code Online (Sandbox Code Playgroud)
我想替换dkdkd-akdoa
.
我的替换方法看起来像
string.replace("v\/(.+)\?", "replace")
Run Code Online (Sandbox Code Playgroud)
但它也取代了v/
.我该如何更换dkdkd-akdoa
?
我有点陷入这种情况,我想找到网站的反向链接,我找不到怎么做,这是我的正则表达式:
readh = BeautifulSoup(urllib.urlopen("http://www.google.com/").read()).findAll("a",href=re.compile("^http"))
Run Code Online (Sandbox Code Playgroud)
我想要做的是,找到反向链接,是找到以http开头但不包含google链接的链接,我无法弄清楚如何管理这个?
如果我写
(?<=\()\w+(?=\))
Run Code Online (Sandbox Code Playgroud)
对于这个字符串:(测试)(测试2)(测试3)
我会得到:Test Test2 Test3
那讲得通.
如果我写
\w+ (?<=\()\w+(?=\))
Run Code Online (Sandbox Code Playgroud)
对于这个字符串:LTE(测试)
什么都没有回报..问题是什么?
请清楚解释你的正则表达式,因为它很难阅读.
原始电子邮件通常看起来像这样
From root@a1.local.tld Thu Jul 25 19:28:59 2013
Received: from a1.local.tld (localhost [127.0.0.1])
by a1.local.tld (8.14.4/8.14.4) with ESMTP id r6Q2SxeQ003866
for <ooo@a1.local.tld>; Thu, 25 Jul 2013 19:28:59 -0700
Received: (from root@localhost)
by a1.local.tld (8.14.4/8.14.4/Submit) id r6Q2Sxbh003865;
Thu, 25 Jul 2013 19:28:59 -0700
From: root@a1.local.tld
Subject: ooooooooooooooooooooooo
To: ooo@a1.local.tld
Cc:
X-Originating-IP: 192.168.15.127
X-Mailer: Webmin 1.420
Message-Id: <1374805739.3861@a1>
Date: Thu, 25 Jul 2013 19:28:59 -0700 (PDT)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="bound1374805739"
This is a multi-part message in MIME format.
--bound1374805739
Content-Type: text/plain …
Run Code Online (Sandbox Code Playgroud) regex ×10
replace ×3
javascript ×2
python ×2
gedit ×1
mod-wsgi ×1
notepad++ ×1
php ×1
preg-replace ×1
python-2.7 ×1
wsgi ×1