cod*_*bie 35 regex microsoft-word
有没有办法在 MS Word 文档中查找模式而不是完全匹配?
我有一个文档,其中所有小数都被写入/
而不是.
. 例如,1.02
已写成1/02
,因为波斯字体使用/
代替.
小数点。
as/
不仅用于小数,还有其他应用,例如分数,百分比等,有没有办法N/M
在word文档中找到一个模式,其中N
表示一个小数并M
显示另一个小数?
nix*_*xda 45
使用微软的正则表达式实现
按CTRL+ H» 点击更多» 启用使用通配符
([0-9]{1,2})/([0-9]{2})
\1.\2
这看起来像一个疯狂的搜索模式,所以让我们检查一下:
[0-9]
代表单个数值(0、1、2、3、4、5、6、7、8和9)
{1,2}
用于计算前一个字符或表达式的出现次数。在我们的例子中,这意味着:只搜索一两个数字。
注意:如果您使用的是德语单词,则必须使用;
作为分隔符而不是,
/
没有特别的意义。它从字面上搜索斜线
()
圆括号很重要。他们将模式划分为逻辑序列,以便我们以后可以在替换模式中使用\1
, \2
... \n
。这样我们就可以保存价值
在 Microsoft 的支持文章或Graham Mayor 的 Word 站点中逐条阅读“表达式”部分的更多信息
我建议您使用 VBA 方法,该方法更符合其他 RegEx 引擎的默认设置。他们有更好的记录,更多的人可以帮助你。
此宏要求使用 RegEx 模式在整个文档中搜索并将其替换为您给定的字符串。
按ALT+F11打开 VBA 编辑器。将代码粘贴到任何地方并执行它F5
Sub RegexReplace()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
On Error Resume Next
RegEx.Global = True
RegEx.Pattern = InputBox("Find what:")
ActiveDocument.Range = _
RegEx.Replace(ActiveDocument.Range, InputBox("Replace with:"))
End Sub
Run Code Online (Sandbox Code Playgroud)
(?!\d)/(?=\d)
.
Cha*_*ark 13
像word文档中的'N/M',其中N表示一个十进制数,M也表示另一个十进制数
仅用于搜索,您可以将其^#/^#
用作搜索参数。在更多选项下,找到 Special,还有一些其他选项可以提供帮助。
Nb: ^#
, 是一位小数,所以如果你专门寻找 x/yy 那么它会是^#/^#^#
等。
取代,
这是一个更好的选择,执行搜索([0-9])/([0-9])
并替换为\1.\2
,并启用“使用通配符”
归档时间: |
|
查看次数: |
51798 次 |
最近记录: |