2011-08-31 3 views
1

Скажем, у меня есть следующие элементы (номера строк только для справки):Проблем с Regex соответствия необязательной строки (Powershell)

1: ER (1000) Attachments 
2: ER (1000) Attachments (1) 
3: ER (125) Attachments 
4: ER (1) Attachments 

мне нужно, чтобы соответствовать все выше. Вот регулярное выражение я использую:

ER \([0-9]*\) Attachments

Это возвращает число 1,3 и 4. Это не соответствует # 2.

ER \([0-9]*\) Attachments.+

не работает.

Любые идеи?

+0

Я ничего не могу видеть, не так с вашим выражением, не запускать окна, чтобы проверить ... ER PowerShell \ ([0-9 ] +? \) Вложения ??? –

+0

Что значит не запускать окна для проверки powershell? –

+0

Кроме того, есть вероятность, что число внутри скобок после вложений может быть больше одной цифры. –

ответ

2

Вы можете попробовать

ER \([0-9]*\) Attachments.*$ 

Это работает для меня.

EDIT

Это также работает для меня:

^.*?\(\d+\).*$ 
+0

Это дает тот же результат. Он не возвращает элементы, которые имеют (###) после вложений. –

+0

Вам просто нужно совместить строку или отдельные экземпляры '\ (\ d + \)'? – Robusto

+0

Вся строка 'ER (1000) Вложения (1)' –

Смежные вопросы