【发布时间】:2023-04-05 06:40:01
【问题描述】:
软件 - Adobe Professional XI
编程 - 使用 正则表达式 匹配通配符的 JavaScript
背景 - 我有多个带有标题栏的 pdf 图纸,使用 java 脚本,根据单词 (通过与正则表达式匹配) 的位置添加数字签名字段。
目前正在测试图形标题栏的修订版 1 中是否存在文字。
脚本搜索修订号 1,后跟日期、标题(字数不同)和 4 组首字母。
数字 1 是静态的(日期、标题和首字母都是通配符,因为它们对于每张图纸都不同)。
我正在使用正则表达式来匹配单词。
这部分正则表达式查找数字 1 和日期(这是有效的)。
^1\s[0-9]{1,2}.[0-9]{1,2}.[0-9]{2}
正则表达式的其余部分与标题和首字母不匹配(这不起作用)
s\w+(\s+\w+){1,8}
如果有人可以帮助使用正则表达式来匹配最受赞赏的单词和首字母。
一旦正则表达式匹配工作,将在 4 组首字母的每个位置拆分,以便 javascript 可以在这些位置添加数字签名字段。
是否也可以就如何使用正则表达式拆分单词提供帮助?
这是整个脚本(javascript 正在运行,仅正则表达式需要帮助)
numWords = this.getPageNumWords(0);
// number of words on page
// loop through the words on page
for (var j = 0; j < numWords-1; j++)
{ // get word pair to test
ckWords = this.getPageNthWord(0, j) + ' ' + this.getPageNthWord(0, j + 1); // test words
// example of word string
// 1 26.05.16 THE REINFORCEMENT REVISED MM SB AE GM
if (ckWords.match(/^1\s[0-9]{1,2}.[0-9]{1,2}.[0-9]{2}\s\w+(\s+\w+){1,8}/))
{
console.println(ckWords);
}
}
【问题讨论】:
-
您是否考虑过使用 split() 代替 reg ex?然后,如果需要,您可以分别对每个单词执行正则表达式或任何其他测试。
-
你能像这样匹配字符串的背面吗?
(\s+\w\w){1,4}$你只想要缩写,对吧?
标签: javascript regex