我正在使用为服务台编写的HTA应用程序做笔记。
我一直在使用正则表达式(尽我所能)CTRL + A弹出票证,然后单击我的应用程序上的parse以填写信息
我需要找到"TICKET - T00000000.0000 - Account Security (Company Name...)"
,并且只抓住“帐户安全性”部分。或者为了将来抢在2号和(
任何建议都是伟大的
这是我尝试过和正在使用的示例
try {
$(".problem_description", context).val(clipdata.match(/TICKET -.+[)]/)[0]);
}
catch (e) {
}
更新 我在这里尝试了一些建议,但结果似乎仍然可以为我提供整个字符串或脚本中的错误。
答案 0 :(得分:0)
以下是正则表达式的正则表达式:
(?<=TICKET\ -\ T\d{8}\.\d{4}\ -\ ).*\)
这是regex101的解释:https://regex101.com/r/6BN16e/1
查询有效地说匹配“ TICKET-T(8 digits ..(4 digits)-”。您当然可以根据自己的规范进行调整。
以下是有关先行和后行的教程,可能会对您有所帮助:https://www.regular-expressions.info/lookaround.html
答案 1 :(得分:0)
使用捕获组。在正则表达式中,可以使用括号标记捕获组。因此,如果您定义了一种模式,其中一部分标记要提取的文本,则可以将该部分用括号括起来。大多数语言中的match函数返回的对象是使您可以访问各个捕获组的值的对象。
尝试我很快组成的这个正则表达式:/[^-]*-[^-]*- ([^(]*)/
完整示例:var matches = "TICKET - T00000000.0000 - Account Security (Company Name...)".match(/[^-]*-[^-]*- ([^(]*)/)
您的值将在matches[1]
中。
它说:从头开始,寻找不是破折号的东西,然后是破折号,然后是非破折号的东西,然后是另一个破折号,然后是空格,然后将不是左括号的任何东西都捕获到捕获组中。 / p>
这将在捕获的组值的末尾保留一个额外的空间。另外,如果您的值包含左括号,则会截断您的值。