Я наткнулся на следующую строку split line.split ("\ s * //") [0], но не может найти документацию по использование символа '/' в регулярных выражениях.Java regex line.split ("\ s * //")
Вот мой код:
String line = "type=path.composition id=pathComp";
line = line.split("\\s*//")[0];
Console console = System.console();
System.out.println("This is the line: " + line);
Вот вывод:
This is the line: type=rule.composition id=ruleComp
Мне интересно, что именно «/» делает с регулярным выражением, и было интересно, будет ли кто-нибудь сможет указать мне на какую-либо документацию и/или ответ, подчеркивающий, что он делает?
Я также заметил, что когда я удаляю '//' из регулярного выражения, вывод изменяется только на первый символ, который, я полагаю, имеет смысл, учитывая, что \ s * означает, что выражение плюет на ноль или более пробел персонажи.
This is the line: t
Это, однако, возникает вопрос: «что делает„//“добавить в регулярное выражение, которое видит раскол происходит в конце строки»?
Любой совет будет высоко оценен.
Z
'' '' '' ничего особенного и принято буквально; можете ли вы «прочитать» '\ s * //' и посмотреть, что это значит в первую очередь? – fge
Hi fge. Спасибо тебе за это. Я не уверен, что «/» будет взято буквально. Это, безусловно, позволяет прочесть линию до конца. Если я удалю возвращаемое значение, измените на «Это строка: t». Что вы подразумеваете под словом '' read '\ s * //'? – Z101
Регулярное выражение '' \\ s * // "означает" две косые черты, которым предшествуют пробелы ". Так как ваша строка ввода не имеет косой черты, ** строка * не * split **, и она просто возвращается без изменений. Поскольку [javadoc] (https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-int-) говорит: * Если выражение не соответствует какой-либо части ввода, тогда результирующий массив имеет только один элемент, а именно эту строку. * – Andreas