【问题标题】:Acrobat Javascript Regular ExpressionAcrobat Javascript 正则表达式
【发布时间】:2015-09-01 22:28:54
【问题描述】:

我想要 javascript 正则表达式来捕获 .pdf 文件中的文本。 例如想抓住这个文字:20-40-55 FIG 20

为此我写了以下表达式:

/[\d{2}-\d{2}-\d{2} FIG \d+]/g

它没有捕捉到所需的文本。

如果我将 .pdf 文件的任何其他文本传递给那里,它会在找到的项目中显示它。

【问题讨论】:

  • 去掉方括号。

标签: javascript regex


【解决方案1】:

你应该去掉方括号:

/\d{2}-\d{2}-\d{2} FIG \d+/g

demo

方括号创建了一个字符类,并且正则表达式仅匹配该集合中的 1 个字符。见Character Classes or Character Sets

【讨论】:

  • 我也这样做了.. 但它没有捕捉到预期的文本.. 如果我将 /welcome/g 作为正则表达式,它显示“找到 25 个实例”.. 但如果我给出正则表达式,它的没有显示任何东西..
  • 然后呢?你得到预期的结果了吗?你确定FIG 周围有固定空间吗?有硬空间吗?
  • pdf 中所需的文本如下:(REF 10-52-44 图 20 ...一些文本..)从这里它必须捕获..但它没有捕获..我需要这里只有“10-52-44 FIG 20”被抓...
  • 有常规空格..有什么方法可以保存硬空格..如果您建议我使用其他正则表达式,那么让我检查一下..
  • Here is my post enumerating Unicode spaces。匹配它们的正则表达式可以是/[\u0020\u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000\uFEFF]/g。请通过/\d{2}-\d{2}-\d{2}[\s\u0020\u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000\uFEFF]+FIG[\s\u0020\u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000\uFEFF]+\d+/g再次检查。
【解决方案2】:

在正则表达式中,[...] 方括号用于允许多个选项。例如,[abc] 与写作a|b|c 相同。因此,括号改变了其中表达式的含义。去掉括号。

var text = "test20-40-55 FIG 20test16-67-12 FIG 87";
text.match(/[0-9]{2}-[0-9]{2}-[0-9]{2} FIG [0-9]+/g);

输出:

["20-40-55 FIG 20", "16-67-12 FIG 87"]

【讨论】:

  • 我刚刚通过修改以下表达式进行了检查:/[0-9]{2}-[0-9]{2}-[0-9]{2} 图 [0-9 ]+/g 但它也不匹配单个实例...
猜你喜欢
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多