Как получить строку после 2 двоеточияRegex Colon Строка 2Colons
:somelongstring::123abc:
как получить только строку 123abc
я попытался это: Regex to find a string after the last colon
Как получить строку после 2 двоеточияRegex Colon Строка 2Colons
:somelongstring::123abc:
как получить только строку 123abc
я попытался это: Regex to find a string after the last colon
Я уверен, что вы просто хотите это:
"::(\w+)"
Что для '@' и '' 'для? И почему вы избегаете': '? – Maroun
' @ 'используется в C# в любое время, когда вы используете символ' \\ '' в строке, а im избегаете их, потому что 1 его безобидные и 2. Есть определенные сценарии в регулярном выражении, где ':' является специальным, как в '(?:' – maksymiuk
** 1. ** Вы предполагаете, что OP использует C#. ** 2. ** Нет необходимости в все, что нужно, чтобы избежать ':' здесь, почему вы заботитесь о других случаях, которые здесь не существуют? – Maroun
Если вы правильно поняли, что хотите найти что-нибудь, что после двойного двоеточия «::» и перед одним двоеточием «:», как это в вашем примере. Вы могли бы использовать это регулярное выражение:
regex = "::(.*):";
Это в основном говорит: Дай мне все, что начинается с «::» и заканчивается «:», но без тех, начальных и конечных символов.
Что делать, если строка': somelongstring :: 123abc: 123abc: '? Мы хотим сопоставить один' 123abc' или оба? (Ваше регулярное выражение будет соответствовать обоим.) –
@ JoeC Вы, безусловно, правы. Мое регулярное выражение будет соответствовать (123abc: 123abc), и это потому, что регулярное выражение является «жадным», и оно будет пытаться соответствовать m uch текст, насколько это возможно. Ну, теперь проблема определения того, что именно мы хотим сопоставить, но я понимаю вашу точку зрения. –
':: ([^:] +):'? .. – Maroun
или ': ([^:] +): $' – maraca
@maraca Это будет захватывать строку после ':', а не '::' как запрошено ОП. – Maroun