Как проверить, начинается ли строка и заканчивается ли она конкретными строками? - PullRequest
4 голосов
/ 10 сентября 2009

У меня есть строка вроде:

string str = "https://abce/MyTest";

Я хочу проверить, начинается ли конкретная строка с https:// и заканчивается /MyTest.

Как мне этого добиться?

Ответы [ 6 ]

17 голосов
/ 10 сентября 2009

Это регулярное выражение:

^https://.*/MyTest$

будет делать то, что вы просите.

^ соответствует началу строки.

https:// будет соответствовать именно этому.

.* будет соответствовать любому количеству символов (часть *) любого вида (часть .). Если вы хотите убедиться, что в середине есть хотя бы один символ, используйте .+.

/MyTest соответствует именно этому.

$ соответствует концу строки.

Чтобы проверить соответствие, используйте:

Regex.IsMatch(str, @"^https://.*/MyTest$");

Дополнительная информация на странице MSDN Regex .

9 голосов
/ 10 сентября 2009

Попробуйте выполнить следующее:

var str = "https://abce/MyTest";
var match = Regex.IsMatch(str, "^https://.+/MyTest$");

Идентификатор ^ соответствует началу строки, а идентификатор $ соответствует концу строки.Бит .+ просто означает любую последовательность символов (кроме нулевой).

Для этого вам, конечно, нужно импортировать пространство имен System.Text.RegularExpressions.

4 голосов
/ 10 сентября 2009

Я хочу проверить, начинается ли конкретная строка с "https://" и заканчивается" /MyTest".

Ну, вы могли бы использовать для этого регулярное выражение. Но яснее (и, вероятно, быстрее) просто сказать, что вы имеете в виду :

str.StartsWith("https://") && str.EndsWith("/MyTest")

Тогда вам не нужно беспокоиться о том, нужно ли каким-либо символам в строках совпадения экранировать в регулярном выражении. (Для этого примера они не делают.)

2 голосов
/ 10 сентября 2009

В .NET:

^https://.*/MyTest$
1 голос
/ 10 сентября 2009

Попробуйте Expresso , хорошо для построения регулярных выражений .NET и одновременного обучения синтаксису.

0 голосов
/ 10 сентября 2009

HAndy инструмент для генерации регулярных выражений

http://txt2re.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...