软件 - 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);
}
}
答案 0 :(得分:0)
将首字母添加到正则表达式的末尾,以便您可以单独匹配它们。
ckWords = '1 26.05.16 THE REINFORCEMENT REVISED MM SB AE GM';
match = ckWords.match(/^1\s\d{1,2}\.\d{1,2}\.\d{2}\s\w+(?:\s+\w+){1,8}\s([A-Z]{2})\s([A-Z]{2})\s([A-Z]{2})\s([A-Z]{2})$/);
console.log(match);
这会将首字母放在匹配的捕获组1到4中。
另外,不要忘记.
在正则表达式中具有特殊含义,因此您需要将它们转义为明确匹配它们。
答案 1 :(得分:0)
这接近你想要的吗?
Public class Container {
Public class animal {
}
Public class dog:animal{
}
Public class cat:animal {
}
}