请教正则表达式的匹配替换

作者&投稿:登咐 (若有异议请与网页底部的电邮联系)
求“一次性分别对应替换多组字符串”的正则表达式~

你这个替换和正则没关系,只是需要替换的内容比较多而已。
方法一:
使用EmEditor手动录制宏,在一个文本内把所有需要的内容都替换一遍,保存宏,到其他文本中就可以使用了。
方法二:
自己写简单的宏。
新建一个文本,输入以下内容:
document.selection.Replace("〔1〕","①",eeReplaceAll);
document.selection.Replace("〔2〕","②",eeReplaceAll);
……
依次类推,全部写完后,保存为xxx.jsee
然后宏》选择,选中你刚才写的宏,然后宏》运行宏,他就自己替换了。
如果需要替换的〔1〕格式不一,使用以下命令,
document.selection.Replace("[《(〔\\(]1[\\))》〕]","①",eeReplaceAll | eeFindReplaceRegExp);
对应的是(1)(1)《1》〔1〕全部替换为①,具体形式需要自己加到中括号内。
半角的括号需要转义,在脚本中前面需要加两个\\。

同时替换所有已打开文件。
把下面的代码复制到新文本中,保存为xx.jsee,剩下的操作方法同上。
var num = editor.Documents.Count;
for(i=0;i<=num,i++)
{
editor.ExecuteCommandByID(5376 + i);
document.selection.Replace("〔1〕","①",eeReplaceAll);
document.selection.Replace("〔2〕","②",eeReplaceAll);
……
}

大括号中的省略号部分自己改成需要的。
替换时,只打开需要替换的文本,其他不要开。

$a = '[!--empirenews.page--]78、修改会员基本资料与修改密码、邮箱分开,
2dddddddddddddffffffffff
[!--empirenews.page--]79、前台结合项与后台
deewwwwwwwwwwwwwwwwwf
[!--empirenews.page--]80、管理栏目分页式新增父栏目
eweeeeeeeeeeeeeeeeee
[!--empirenews.page--]81、DIGG/评分/评论意见等AJAX。
eeeeeeeeeeeeeeeeeeffffff444444444
33333333333333

';

echo preg_replace('/\[\!--empirenews\.page--\](((?!\[\!--empirenews\.page--\]).)+)/is','[!--empirenews.page--]$1[/!--empirenews.page--]',$a);

提问怎么都不说用什么语言来写,难道你认为全世界都和你学一种语言呀,对于你这个问题,是非常简单的,核心替换的正规表达式代码是/\[.*$/,不同语言替换的操作不一样:

JAVA类一般是:
str.replace(/\[.*$/, ' 1');

PERL语言的语句是:
$str =~ s/\[.*$/ 1/;

print
re.sub(r"(\w+)
(\w+)",r"\2
\1",
"aaa
bbb")\1就是第一个括号,2是第二个...上面就是调换两个匹配内容

谢谢,明白了,这个?应该是最小匹配了!再请教一下r"\1",这个意思是不是引用第1对括号内匹配到的字符串列表(逐个引用,在这里引用来进行替换)?


正则表达式匹配字符串的问题
在上面的例子里,每个空字符都会检查其前面的字符串是否不是‘hede',如果不是,这.(点号)就是匹配捕捉这个字符。表达式(?!hede).只执行一次,所以,我们将这个表达式用括号包裹成组(group),然后用*(星号)修饰——匹配0次或多次:复制代码 代码如下:((?!hede).)*。你可以理解,正则表达式((?!

如何利用正则表达式匹配指定的字符串
var str = '{ "listusersresponse" : { "count":9 ,"user" : [ {"id":"20b1266f-d9ec-4796-9537-3620bf7a3632","username":"wj","email":"wangjie101988@126.com","created":"2015-08-13T09:43:22+0800","state":"enabled","account":"wj","accounttype":0,"domainid":"...

求一个正则表达式
负向预测先行断言的写法为(?!...),表示后面的模式不能匹配到,才能继续匹配。在这里,我们使用了[^']*来匹配任意多个不是单引号的字符,后面跟着一个负向预测先行断言(?!'),表示匹配的字符串后面不能是单引号。这样就可以防止匹配到值中的单引号。例如,使用这个正则表达式匹配字符串key1 = '...

JS正则表达式完整教程
字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

正则表达式 可以输入负数、正数、小数(小数保留一位)。
^ 表示从字符串开始处匹配 -? 表示可选的负号,即允许输入负数 \\d+ 表示至少一位数字,即整数部分 (.\\d{1})? 表示小数部分,其中 . 表示小数点,\\d{1} 表示一位数字,() 和 ? 表示整个小数部分是可选的 表示从字符串结尾处结束匹配 因此,该正则表达式可以匹配的示例输入包括:123 -456 7...

正则表达式语法
正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这里有一些可能会遇到的正则表达式示例:JScript VBScript 匹配 \/^\\...

怎样用java的正则表达式匹配这样的网址
Java中正则表达式匹配的语法规则:以下是整理出来的Java下运用正则表达式实现匹配的程序案例,代码如下:package org.luosijin.test;import java.util.regex.Matcher;import java.util.regex.Pattern;\/** * 正则表达式 * @version V5.0 * @author Admin * @date 2015-7-25 *\/public class Regex ...

正则匹配的中文包括中文标点符号吗?
解析:“[\。\;\,\:\“\”\(\)\、\?\《\》] ”该表达式可以识别出: 。 ; , : “ ”( ) 、 ? 《 》 这些标点符号。 正则表达式“\\un”匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\©匹配版权符号(©...

正则表达式如何匹配特定字符之间的内容
AAA(.*?)BBB

正则表达式中的.*和.*?的区别是什么?
\\s 匹配任何空白非打印字符,包括空格、制表符、换页符等等。等价于 [ \\f\\n\\r\\t\\v]。注意 Unicode 正则表达式会匹配全角空格符。\\S 匹配任何非空白非打印字符。等价于 [^ \\f\\n\\r\\t\\v]。限定符是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或...

云龙县15245797703: 正则表达式 怎么替换匹配到的每个分组的值 -
汝晏阿端: 一般替换操作都是跟你说的相反,抓不替换的部分到分组,然后用 \数字 保留,而替换其他的(.*new) \d{4}, \d, \d (year.*) 到 \1 2014, 5, 6 \2

云龙县15245797703: java正则表达式怎么一个个替换匹配的内容 -
汝晏阿端: 1 2 3 4 5 6 7String a = "我是 f_static_000 的 f_static_001 aaa f_static_001"; // 正则根据自己需要修改,replaceAll可以使用正则的捕获组功能,$n引用第n个捕获组 /** replaceAll(regExp,replacement);第一个参数是正则字符串,第二个是替换内容 正则里面有捕获(正则里面用小括号捕获)和引用的功能 */ a = a.replaceAll("(f_static_\\d+)","#[face/png/$1.png]#");

云龙县15245797703: 如何利用正则表达式替换如下内容? -
汝晏阿端: 去掉不规则的,不必匹配非规范格式,至少有以下两种方法: 1、通过findstr或grep工具程序,只提取符合规范的,另存到别的文件,示例命令如下: findstr /B "< [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" A.txt >b.txt 2、很多文本编辑器都支持排序,只要一排序,符合规则的都挨着排放,手工把前后不妥的删除即可一定要“匹配非规范格式”,可以如下: ^((?!< [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).)*$

云龙县15245797703: 正则表达式怎么匹配到// -
汝晏阿端: 正则表达式匹配特殊字符时可以使用 :在字符前加上 "\" 来对字符进行转义 // javascriptvar str = "//123"; var re = /\/\/\d+/; re.test(str);//true

云龙县15245797703: java正则表达式匹配img标签并替换 -
汝晏阿端: public static void main(String[] args) { String xx = "hdjksahdjkshj khkjdhsakj <img src=\"/ee/ads/blll/1.0.0/img/defineform.png\"/> dsadsajkdas"; String regex = "src=\"/ee/ads/blll/1.0.0/img/defineform.png\""; xx = xx.replaceAll(regex, "tttt"); System.out.println(xx); }

云龙县15245797703: 正则表达式匹配的结果如何替换? -
汝晏阿端: 全字匹配需要添加“锚定”,不同正则引擎的“锚定”不一样,是具体而定(查一下自己使用的正则表达式),这个给出vim的锚定, 你可以照葫芦画瓢 s/\/xyz/g s/\/xyz_a/g s/\/xyz_d/g \<\> -- 锚定 在perl正则引擎中使用的是"\b"

云龙县15245797703: 用正则表达式实现替换 -
汝晏阿端: '使用正则表达式中的替换功能 aryLines = System.Text.RegularExpressions.Regex.Replace(aryLines, "需要替换的内容的正则表达式", "替换后的内容")

云龙县15245797703: Python正则表达式的几种匹配用法 -
汝晏阿端: 下面列出: 1.测试正则表达式是否匹配字符串的全部或部分regex=ur"" #正则表达式 if re.search(regex, subject): do_something()else: do_anotherthing() 2.测试正则表达式是否匹配整个字符串 regex=ur"/Z" #正则表达式末尾以/Z结束 if re.match...

云龙县15245797703: Editplus等软件中正则替换技巧是什么?
汝晏阿端: 实际上这也是正则表达式的使用特例,“”表示匹配0~9之间的任何特例,同样“”就表示匹配a~z之间的任何特例上面重复使用了“”,表示连续出现的三个数字括号用来...

云龙县15245797703: 请教正则表达式不同条件不同替换 -
汝晏阿端: string input = "我要将一段程序的U8替换成U16替换成那么问题来了,能";Regex reg = new Regex("U(\\d+)");input = reg.Replace(input, "unit$1_t");Console.WriteLine(input);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网