Почему Java регулярно выражается негативным взглядом, за которым следует $ Match, а не в конце? [дублировать]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему Java регулярно выражается негативным взглядом, за которым следует $ Match, а не в конце? [дублировать]

Сообщение Anonymous »

Предположим, что вы хотите изменить java string s с использованием string.replaceall () , чтобы, если строка не выполняет не с новым символом \ n , затем добавляет к нему.
Например:
  • ​​"abc\ndef\n" → "abc \ ndef \ n" (без изменения)
  • "abc\ndef" → "abc \ ndef "
Для простоты предположим, что все строки ввода не являются пустыми.
Я попробовал это:

| Welcome to JShell -- Version 24
| For an introduction type: /help intro

jshell> UnaryOperator detectMissingNL = s -> s.replaceAll("(?");
detectMissingNL ==> $Lambda/0x00001fe001009218@4b9af9a9

jshell> detectMissingNL.apply("abc\ndef");
$5 ==> "abc\ndef"

jshell> detectMissingNL.apply("abc\ndef\n");
$6 ==> "abc\ndef\n"

Первый вывод $ 5 является правильным, но второй $ 6 , очевидно, неверен. Что происходит?jshell> UnaryOperator detectMissingX = s -> s.replaceAll("(?d)(?");
detectMissingX ==> $Lambda/0x00001fe00100a900@28c97a5

jshell> detectMissingX.apply("abcXdefX");
$14 ==> "abcXdefX"

jshell> detectMissingX.apply("abcXdef");
$15 ==> "abcXdef"


Подробнее здесь: https://stackoverflow.com/questions/796 ... tch-not-at
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»