2016-05-28 2 views
-2

У меня есть набор строк, разделенных , например:проверка подстроки в строке перед первой запятой

abc,defg,ijkl 

pqrs,tu,vv 

,klmnop,qwe 

aamn,nn,khhk 

Как вы можете видеть, третья строка не начинается с подстроки. Он начинается с запятой.

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

+0

Просьба уточнить вашу конкретную проблему или добавить дополнительные детали, чтобы выделить именно то, что вам нужно. Как это написано в настоящее время, трудно точно сказать, что вы просите. См. Страницу «Как спросить», чтобы помочь прояснить этот вопрос. –

+0

это массив строк или вы читаете его из файла? – Priyamal

+0

Или просто обрезать его? :/ – Gogol

ответ

2

Описание

^"[^"]+", 

Regular expression visualization

Это регулярное выражение будет делать следующее:

  • Проверяется строка начинается с подстроки
  • Требуется подстроку быть любая случайная длина больше чем ноль

Пример

Демо

https://regex101.com/r/kE3bG5/1

Пример текста

abc,defg,ijkl 
pqrs,tu,vv 
,klmnop,qwe 
aamn,nn,khhk 

Образец Матчи

abc, 
pqrs, 
aamn, 

Объяснение

NODE      EXPLANATION 
---------------------------------------------------------------------- 
^      the beginning of a "line" 
---------------------------------------------------------------------- 
    [^,]+     any character except: ',' (1 or more times 
          (matching the most amount possible)) 
---------------------------------------------------------------------- 
    ,      ',' 
---------------------------------------------------------------------- 
+0

Спасибо, это близко к моему ответу, за исключением того, что я не (") вокруг своих строк, они действительно такие: abc, defg, ijkl pqrs, tu, vv , klmnop, qwe aamn, nn, khhk – user3338391

+0

Я отредактировал описание проблемы – user3338391

+0

Обновленный ответ на работу с измененным исходным текстом –

1

(?m)^[^,\w]*\w.*?,.*

Разъяснения

(?m)   # Multi-line mode 
^   # Beginning of line 
[^,\w]*  # Optional Non- word nor comma 
\w   # Word 
.*?   # Optional anything 
,   # Comma 
.*   # All to end of line 
Смежные вопросы