officejs:使用正则表达式搜索Word文档

时间:2019-03-10 11:05:08

标签: ms-word office-js

我要搜索“数字1”或“数字152”或“数字36985”之类的字符串。 在以上所有字符串中,“ number”将保持不变,但数字将更改并且可以具有任意长度。 我尝试使用通配符Search option,但似乎不起作用。 像+这样的基本regEx运算符似乎不起作用。 我尝试了formatDate<DatePicker margin="normal" disableFuture openTo="year" views={["year", "month", "day"]} value={selectedDate} onChange={this.handleDateChange} maxDate={maxdate} formatDate={(date) => moment(date).format('DD-MM-YYYY')} /> ,但是没有运气。 此正则表达式最多只能选择一位数字。例如如果字符串为“数字12345”,则仅匹配数字1 2345(粗体部分)。 有谁知道该怎么做?

1 个答案:

答案 0 :(得分:0)

Word在其搜索(查找)功能中不使用正则表达式。它具有自己的通配符规则集。它们与RegEx非常相似,但不相同且功能不一样。

使用Word的通配符,下面的搜索文本可找到问题中给出的示例。 (请注意,1;100中的分号分隔符可能还有其他含义,具体取决于Windows(或Mac)上设置的列表分隔符。我的欧洲语言环境使用分号;例如,美国使用逗号。

"number [0-9]{1;100}"

100是一个任意数字,我为它之前的搜索词的最大重复次数选择了这个数字。取决于您希望数字有多长,这可能要小得多...

搜索文本的逻辑是:number是文字;文字之后的有效字符范围是0到9;这些字符可能有一百到一百个-在该范围内的任何字符都是匹配项。

可在Word中使用RegEx的唯一方法是提取一个字符串并对该字符串进行搜索。但这会使字符串与文档分离,这意味着特定于Word的内容(格式,字段等)将丢失。