几个关于正则表达式检索的问题
本帖最后由 共同研习 于 2019-12-10 17:17 编辑我使用的是emeditor,有时常规搜索不能满足需求,需要正则表达式,有几个问题我不懂,希望高人指教:
(1)给定两个字符(指定顺序)以及一个数字n,检索所有的行,要求包含这两个字符且两个字符间正好相隔n个字符。
(2)给定两个字符(指定顺序)以及一个数字n,检索所有的行,要求包含这两个字符且两个字符间隔不大于n个字符。
(3)如何搜索包含“A一A”(笑一笑,跑一跑,等等)格式的行?---------------------
感谢大家的回复
如果两个字符是 a 和 b
第1个:a.{n}b
第2个:a.{0,n}b
第3个:(.)一\1
严格一点,要求汉字的话就是 ([\x{4E00}-\x{9FFF}])一\1
前面两个不知道你要求严不严格:相隔的这 n 个字符中能不能有 a, b存在,能的话就是上面的,不能的话就是:a[^ab]{n}b “A一A”(笑一笑,跑一跑,等等)好像做不了 1和2,那个数字n套用在正则里的{m,n}里,很容易呀,比如:“你”和“好”,隔20个字符,你.{20}好
换行或者啥的按实际情况再考虑
3,没明白你的意思 感谢上面几位指教。改日我会自己试验。 (3)如何搜索包含“A一A”(笑一笑,跑一跑,等等)格式的行?
(.)一\1 simonfire 发表于 2019-12-9 22:50
1和2,那个数字n套用在正则里的{m,n}里,很容易呀,比如:“你”和“好”,隔20个字符,你.{20}好
换行或者 ...
关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛出来,按照前面几位的意见似乎做不到。 共同研习 发表于 2019-12-9 22:52
关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛 ...
你是要得到满足条件的行的行号这种或类似东西吗? 共同研习 发表于 2019-12-9 22:52
关于3,我的意思是说,把所有带“跑一跑”“笑一笑”“跳一跳”这种“字+“一”+字(前后相同)”的行筛 ...
^.*?(.)一\1.*?\n\r
这个应该能匹配整行,不过细节部分还得自己把握呀,想学习就多试多看,都是这么过来的 simonfire 发表于 2019-12-9 23:19
^.*?(.)一\1.*?\n\r
这个应该能匹配整行,不过细节部分还得自己把握呀,想学习就多试多看,都是这么过来 ...
改日我会自己试验的。
其实能匹配一行的一部分,利用书签功能,就相当于做到匹配行了。
页:
[1]