软件-Adobe Professional XI
编程-用正则表达式匹配通配符的JavaScript
背景-我有多个带有标题栏的pdf图纸,使用java脚本,基于单词的位置添加数字签名字段(通过与regex匹配)。
目前正在测试,看看是否有文字出现在绘图标题块的修订版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可以在这些位置添加数字签名字段。
也可以帮助如何使用正则表达式拆分单词吗?
这是整个脚本(java脚本正在工作,仅正则表达式需要帮助)
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);
}
}
带有文本的标题栏的 pdf
这和你要找的东西近吗?
// some string with variable spaces and variable number of title words
var words = '1 26.05.16 THE REINFORCEMENT REVISED MM SB AE GM';
// match for:
// possible spaces at the start
// a 1
// variable spaces
// a xx.xx.xx date
// variable spaces
// any number of words that are not the initials, separated by variable spaces
// variable spaces
// four initials, separated by variable spaces
// possible spaces at the end
var matches = words.match(/^\s*1\s+\d\d\.\d\d\.\d\d\s+((?:\w+\s+)+\w+)\s+([A-Z]{2})\s+([A-Z]{2})\s+([A-Z]{2})\s+([A-Z]{2})\s*$/);
console.log(matches);
// replace variable spaces in title with single spaces
console.log(matches[1]);
matches[1] = matches[1].replace(/\s+/g, ' ');
console.log(matches[1]);
将首字母添加到正则表达式的末尾,以便可以分别匹配它们。
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);
问题内容: 我正在使用模块中的函数来匹配某些东西,并且一切正常。 现在,我需要找出我有多少场比赛。是否可以不两次遍历迭代器?(先找出计数然后是真正的迭代) 一些代码: 一切正常,我只需要在循环之前获取匹配数即可。 问题答案: 如果您知道需要所有匹配项,则可以使用该功能。它将返回所有匹配项的列表。然后,您可以只进行匹配次数。
有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。
我们得到了一些这样的内容:
我有一个regex101正确工作的regex: 有2个匹配,如预期的。 现在我想用std的regex_token_iterator拆分相同的: 这可以很好地编译,但没有任何东西被打印到stdout。 我认为正则表达式必须以其他方式编写,你能指出我的错误吗?
问题内容: 我知道可以匹配一个单词,然后使用其他工具(例如grep -v)将匹配项反转。但是,是否可以hede使用正则表达式来匹配不包含特定单词的行? 输入: 码: 所需的输出: 问题答案: 正则表达式不支持逆匹配的说法并不完全正确。您可以使用否定环顾模仿此行为: 上面的正则表达式将匹配任何不包含(sub)字符串’hede’的字符串或没有换行符的行。如前所述,这是不是正则表达式是“好”的(或应该做