EduEditer(简称EE),是由小五老师个人独立开发的一款面向教育的集文本编辑,公式编辑,课件演示于一体的办公软件

EduEditer 正则表达式补充说明

发布时间:2026-08-16 11:49:36 录入者:民间书匠 阅读量:0

  

EduEditer 正则表达式遵循正则表达式一般的规则, 可自行查看相关知识。

一、表达式有如下局限性。

不支持跨段落查询,查询仅限于段落内进行。一般用 \r 来表示段落符,EE 中暂时不支持。同样也不支持换页符、分节符等查询。但换行符除外。另外 \t 表示制表符 Tab ,\n 表示换行符。

二、替换

替换中可以使用引用。引用可以用 ∖0∖1∖3⋯∖9 表示,超过 9 的引用不支持。这里 \0 表示整个查询到的内容。 \1   \2 等表示第一子项,第二子项等。

查询字符串中 " \" 具有特殊意义。用两个 \\表示一个 \

替换中还可以用 \t 和 \n

三、大小写转换

可按如下方式, 通过替换, 改变英文字符的大小写状态。

\U \L 表示从这里开始的英文字符转换为大写 (\U) 或者小写(\L),用 \E 表示结束

\u \l 表示,把此位置后面的一个字符转换为 大写 ( \u) 或小写( \l) (注:这里 1 为 L 的小写,不是阿拉伯数字 1)

如,如下方法可将所有英文单词的首字母改为大写

查找 \b[a-zA-z].+ \b

替换为 \u \0

四、查询和替换对话框

查询对话框如下:

图片 1 

 如果你通过查询对话框先查询到内容, 然后看情况再想替换, 可以转到替换对话框, 可不填写查询内容, 而是只填写替换表达式后替换即可, 如下:

图片 2

注:通过查询选到的内容和手动拖选的内容有区别的, EE 只会替换查询到的内容。

五、其他

文档中若有当前选择,而且是手动选择(而不是通过搜索自动搜索到的),将会仅在选定文字范围内进行搜索或替换。

其他相关问题,看情况修改和补充。

六、常用的元字符:

注:下表中标有【EE】 的项,其含义和普通正则表达式不同, EE 特别定义或改变用途

元字符

功能说明

.

匹配除 " ∖ n" 之外的任何单个字符,若要匹配包括 " ∖ n" 在内的任意字符,需使用诸如 "[ \s \S]" 之类的模式

∧

匹配输入字符串的开始位置,不匹配任何字符,要匹配 "^" 字符本身,需使用 " ∖ ^

$

匹配输入字符串结尾的位置,不匹配任何字符,要匹配 "$" 字符本身,需使用 "\$

⋆

零次或多次匹配前面的字符或子表达式 ,"*" 等效于 "{ 0 , } "

+

一次或多次匹配前面的字符或子表达式,等效于 "{1, }",如 "a+b" 可以匹配 "ab"," aab", "aaab", ...

?

零次或一次匹配前面的字符或子表达式,等效于 "{0,1}",如 "a[cd]?" 可以匹配 "a ", "ac", "ad" 当此字符紧随任何其他限定符 "*", "+", "?", "{n}", "{n, }", " {n, m}" 之后时,匹配模式是 "非贪心的 "。 " 非贪心的 " 模式匹配搜索到的,尽可能短的字符串,而默认的 "贪心的 "模式匹配搜索到的,尽可能长的字符串。如,在字符串 "oooo" 中,"o+?" 只匹配单个 "o",而 "o+" 匹配所有 "o

|

将两个匹配条件进行逻辑 "或 "(or) 运算, 如正则表达式 "(him|her)" 匹配 "it belongs to him" 和 "it belongs to her",但是不能匹配 "it belongs to them.

\x

后面跟两个16 进制字符 (1-9a-f) 字符来表示一个字符码,比如 \x20 表示一个空格

\u

后面跟四个16进制字符(1-9a-f)字符来表示一个字符码,比如 \u0020 表示一个空格

\w

匹配字母或数字或下划线,任意一个字母或数字或下划线,即 Az,az,0∼9 ,_中任意一个

\W

匹配任意不是字母,数字,下划线的字符

\s

匹配任意的空白符,包括空格,制表符,换页符等空白字符的其中任意一个,与 ”[ \f \n \r \t \v]" 等效

\S

匹配任意不是空白符的字符,与 "[^\f \n \r \t \v]" 等效

\d

匹配数字, 任意一个数字, 0 ~9 中的任意一个, 等效于 "[0-9]

\D

匹配任意非数字的字符, 等效于 "[^0-9]

\b

匹配一个字边界,即字与空格间的位置,也就是单词和空格之间的位置,不匹配任何字符, 如, "er \b" 匹配 "never" 中的 "er",但不匹配 "verb" 中的 "er";

\B

非字边界匹配,"er \B" 匹配 "verb" 中的 "er",但不匹配 "never" 中的 "er

\f

【EE】原本是垂直换页符,EE 中改变了其用途,用来表示公式行的开始位置。(公式行末尾为 \n)

\n

匹配一个换行符,等价于 " \x0a"。段落中部可以存在 \n,公式行中部不可出现,末尾有 \n

\r

【EE】匹配一个回车符

\t

匹配一个制表符, 等价于 " \x09"

\p

【EE】EE 特别增加, 用来表示段落的开始位置。(段落末尾为回车符 \r)

\v

【EE】原本是垂直制表符,EE 中改变了其用途,用来指一个段落标签或项目符号。结合 \p,可用 \v \p 指段落标签, \p \v 指项目符号, \v \p \v 指同时具有段落标签和项目符号

\cx

匹配 ”×” 指示的控制字符,如, \cM匹配 Control-M 或回车符, ” x” 的值必须在 "A-Z ”或 “a-z” 之间,如果不是这样,则假定 c 就是 “c” 字符本身

{n}

n" 是非负整数,正好匹配 n 次,如 ,"o{2}" 与 "Bob" 中的 "o 不匹配,但与 "food" 中的两个 "o" 匹配

{n, }

n" 是非负整数,至少匹配 n 次,如," o { 2, } "不匹配 "Bob" 中的 " o",而匹配 " foooood" 中的所有 "o", "o{1,}" 等效于 "o+", "o{0,}" 等效于 "o *

{n, m}

n" 和 "m" 是非负整数,其中 n<=m,匹配至少 n 次,至多 m 次,如 ," o {1,3}" 匹配 " fooooood" 中的头三个 o, ’o{0,1}’ 等效于 ’o?’, 注意, 不能将空格插入逗号和数字之间 如 "ba{1,3}" 可以匹配 "ba" 或 "baaa

x|y

匹配 "x" 或 "y",如 ,"z | food" 匹配 "z" 或 "food" "(z | f ) ood" 匹配 "zood" 或 "food

[xyz]

字符集,匹配包含的任一字符,如,"[abc]"匹配 "plain" 中的 "a";

[^xyz]

反向字符集,匹配未包含的任何字符,匹配除了 "xyz" 以外的任意字符,如,"[^abc] "匹配 "plain" 中的 "p

[a-z]

字符范围,匹配指定范围内的任何字符,如,"[a-z]"匹配"a"到"z"范围内的任何小写字母

[^a-z]

反向范围字符,匹配不在指定的范围内的任何字符,如,"[^a-z]" 匹配任何不在 "a" 到 " z " 范围内的任何字符

(     )

将 ” ( “ 和 ” ) ” 之间的表达式定义为 “ 组 "group,并且将匹配这个表达式的字符保存到一个临时区域,一个正则表达式中最多可以保存 9 个,它们可以用 " \1" 到 " \9" 的符号来引用

七、2023 年 6 月 28 日 修改部分:

一是换了界面:不再是上面的对话框,查找工具栏会出现再文档右上角,增加了就按文字类型范围查找。比如只在 “数学类” 文字中查找内容。

图片 3 

                       

二是,在正则表达式中允许使用 \r 来表示段落符,但仍有限制,查询依旧以段落为单位进行逐段查询, 不能跨段。比如某段落的最后翼字符是 "A", 下一个段落开始字符是 "B", 不能用 "A \rB" 这种方式查找。

允许 \r 的主要目的是为了定位段落的开始和结束处。

八、2023 年 7 月 8 日 修改部分

到此,查找与替换部分基本编写完成。与上一版本有所变化的有,查找对话框中的收藏栏已可以使用了。收藏栏中收藏的是 “查找字符串” 和 “匹配选项”,用如下字母表示具体的匹配选项:

C 区分大小写,W 区分全角半角,E 完整匹配单词边界,R 正则表达式,横线 - 表示相应的选定位没有被选择(如下图)

图片 4 

                       

双击特定收藏项,可以把该项重写到上方查找框,并设置相应的匹配选项。

收藏栏可能对物理老师很有用,可用于查找数量单位,批量选定后,执行【空格 +U】进行扶正。

在数量单位中,常用平方和立方。特设定用如下方法查找平方、立方等:

\x02 上标平方, \x03 上标立方, \x04 上标四次方。

除了以上特殊指定外,可用 \x08 查找其余的所有公式对象。

这里, \x08 指,字符为 ASCII 字符集中字符码为 8 的字符。也可以使用 Unicode(万国码)形成表示: \u0008 ,但显然,这样写有些不便,建议使用 \x 方式表示。

可以用 \x0E 查找嵌入的画布和图片。


九、2023 年 10 月 17 日 修改部分:


6月30日的版本加过 \r,但段落前后都加相同的 \r 引起搜索上的一些问题(比如在首尾截选中),本次版本做了适当调整。

用 \p特指段落开始位置, \r平特指段尾(段落符)。

比如,段落内容是 “中华人民共和国”,那么可以当作如下字符串来理解:

\p 中华人民共和国 \r

但它实际上是以 “ \p \n 中华人民共和国 \n \r" 的形式供搜索 (下面有说明)

类似地,在公式行中,用 \f 特指行首,用 \n 指行尾。比如,可以用 \f.+∖n 来选定所有公式框中的内容

|\n指换行符。当用户在查找框中输入 \p, \r, \f, EE 会把他们改为:

\p → \r \n

\r→\n∖r

\f → \f \n

这样,正则表达式 “ ∖ p 中华人民共和国 ∖r″ 的最终正则表达式将变为:

\r \n 中华人民共和国 \n \r

“ \f 中华人民共和国 \n" 实际上是:

\f \n 中华人民共和国 \n

总之,用户需要知道的是,在 EE 中的查询,任何文字内容都位于两个 ∖n 之间。这主要是考虑到对段落或文字行 ^(行头) 和 $ (行尾) 操作符仍然能起作用。


十、段落标签和项目符号


本次版本新增 ∖v 来表示段落标签或项目编号 (或符号,或项目标识)。

当 \v 表示段落标签的时候,应将 \v写在 \p 之前,如 \V\p ;否则,若为项目编号之类的,应写在 \p 之后,如 \p \v 。这样,如下表达式用来选择所有既有段落标签,又有项目编号的段落内容:

\v \p \ v.+ \r


十一、改变大小写



上一篇:EduEditer 安装与部署办法 下一篇:没有了

相关文章