2015-09-01 4 views
2

Я хочу иметь регулярное выражение javascript, чтобы поймать текст из .pdf-файла. , например. хотите, чтобы поймать этот текст: 20-40-55 FIG 20Acrobat Javascript Regular Expression

Я написал следующее выражение для этого:

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

Это не поймать нужный текст.

Если я передаю туда любой другой текст .pdf-файла, он отображает его в найденных элементах.

+1

Снять квадратные скобки. –

ответ

2

Вы должны удалить квадратные скобки:

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

См demo

Квадратные скобки создали класс символов и регулярное выражение соответствует только один символ из этого набора. См. Character Classes or Character Sets.

+0

Я сделал это тоже .. , но он не ловит ожидаемого текста .. Если я дам/приветствую/г как регулярное выражение, он показывает «25 найденных экземпляров» .. , но если я дам регулярное выражение, его не покажет ничего. –

+0

И? Получили ли вы ожидаемые результаты? Вы уверены, что у вас есть регулярные пробелы вокруг 'FIG'? Есть ли трудные пространства? –

+0

Требуемый текст в формате pdf: (REF 10-52-44 FIG 20 ... некоторый текст ..) отсюда он должен поймать .. но он не ловит .. Мне нужно только здесь " 10-52-44 FIG 20 "быть пойманным ... –

0

В регулярном выражении квадратные скобки [...] используются для множества вариантов. Например, [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

Я только что проверил, изменив выражение следующим образом: /[0-9] {2} - [0-9] {2} - [0-9] {2} FIG [0-9] +/g но также не соответствует одному экземпляру ... –