Какое регулярное выражение я могу использовать, чтобы найти две черты? то есть. - - PullRequest
0 голосов
/ 19 февраля 2010

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

например.

PASS: fdhfdjkgsdf--sdfdsfsdsf
PASS: sldfjkdsf------dsfdsf----fds
FAIL: asdasdsa
FAIL: asd-dsadsaads

Ответы [ 3 ]

4 голосов
/ 19 февраля 2010

Для этого вам не нужно регулярное выражение, большинство языков имеют indexOf или подобное, которое ищет буквенную строку и возвращает индекс первого вхождения. Но если вам нужно регулярное выражение, это, вероятно, просто -- (в зависимости от вашего вида регулярного выражения), потому что вне конструкции [], - не имеет специального значения.

Примеры JavaScript (вы не упомянули, какой язык вы использовали):

// Find the index of the first occurrence of "--":
if ((n = theString.indexOf("--")) >= 0) {
    // It contains them starting at index 'n'
}

// Using string.match, which checks a string to see if it contains
// a match for a regex:
if (theString.match(/--/)) {
    // Yes it does
}
2 голосов
/ 19 февраля 2010

"-" не является специальным символом, если он не находится в диапазоне, поэтому ваше регулярное выражение просто "-".

1 голос
/ 19 февраля 2010

, если вы хотите использовать регулярные выражения, это просто, как /--/. однако большинство языков предоставляют строковые методы для поиска индекса подстроки, например, в Python.

>>> s="abc--def"
>>> s.index("--")
3
>>> s.find("--")
3

В Perl вы можете использовать index ()

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