2015-01-18 5 views
0

Я хочу, чтобы заменить выражения видавозвышенный текст заменить и найти выражение регулярное выражение

\theta^\top x_2 +x_1 or \theta^\top x_{2} +x_{1} or \theta^{\top} x_{2} +x_{1} or \theta^{\top}x_{2}+x_{1} 

или любых других комбинаций одного и того же латекса математике команды по

\theta \diamond x 

используя возвышенный текст. Есть ли способ сделать это в возвышенном тексте, используя регулярное выражение? Я не мог найти регулярное выражение для { или }.

ответ

0

Это потому, что { и } являются частью синтаксиса регулярных выражений. Вы можете избежать их, используя косую черту (\). Что-то вроде этого могло бы работать:

\\theta\^\{?\\top\}?\s*\{?x_\{?2\}?\s*\+\s*x_\{?1\}? 

Давайте сломать его.

  • \\theta\^ будет соответствовать строке \theta. Обратите внимание, что нам нужно избежать \t и ^, так как \t является вкладкой, а ^ является частью синтаксиса регулярных выражений.
  • \{? и \}? будут соответствовать { или } либо один раз, либо нет. Опять же нам нужно избежать скобок. Знак вопроса (?) означает, что этот символ может иметь место 0 или 1 раз.
  • \\top - снова, нам нужно избежать символа табуляции \t.
  • \s* - пробел (\s) ноль больше раз.
  • x_\{?2\}?\s*\+\s*x_\{?1\}? будет соответствовать x_, дополнительные фигурные скобки с 2, ноль или более пробелов, за которыми следует + (который также является частью синтаксиса регулярных выражений, поэтому мы должны избежать его), а затем x_ с одним (а также опционально фигурные скобки).

Надеюсь, это прояснит ситуацию!

+0

Это работает. Большое спасибо! Это первый раз, когда я использую регулярное выражение. Знаете ли вы о каком-либо хорошем месте/ссылке, где я могу найти объяснение того, что вы написали? Я не хочу задавать простые вопросы каждый раз, когда у меня возникают подобные проблемы. – Statguy

+0

Нет проблем. Я добавил объяснение регулярного выражения :) Выполнение быстрого google for regex cheat sheets показывает что-то [подобное] (http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/). – Th3Cuber

Смежные вопросы