2013-03-29 2 views
-3

У меня возникла еще одна проблема, когда я хочу извлечь значения из строки. Взгляни, пожалуйста.Еще один RegEx, чтобы найти нужный результат

string anotherTest = "Hello World [A12345 **(05,00,45)**] - [518.6Z] [51.5]" 

Я хотел бы результат, чтобы вернуться "A12345" "518.6Z" "51,5".

То, что выделено жирным шрифтом, - это то, с чем я столкнулся.

Я использую C#, и я пробовал [(\ D? \ D +.? \ D + \ D?)] ... это нормально, если у меня нет того, что находится в круглых скобках.

+0

матч ничего между '[' и ']' и отбрасывают первый результат. – leppie

+0

, поэтому вам не нужна часть в '()', но вы хотите 'A12345'? Есть ли образец для этого числа, который предсказуем? Как это всегда начинается с буквы, сопровождаемой номером? –

+1

На каком языке вы используете? [* Что вы пробовали? *) (Http://whathaveyoutried.com) – zzzzBov

ответ

0

Вам нужно извлечь первое слово из подстроки [ ... ]. Используйте группы:

.*?(\[([^\[\] ]+).*?\])* 

Затем извлекают вторую группу из всех захватов (в зависимости от LANGAUGE)

+0

спасибо за ваш ответ. Это было самым близким, что помогло мне. То, что я сделал, было разделение строки на дефис, а затем оттуда использовалось регулярное выражение для извлечения значений. – user1884032

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