質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

1回答

362閲覧

JavaScript Highlightの正規表現

MarkAndrews

総合スコア49

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

1クリップ

投稿2018/07/21 07:32

編集2018/07/21 09:09

JavaScriptのシンタックスハイライトの
「google-code-prettify」を使用しています。

google-code-prettify
https://code.google.com/archive/p/google-code-prettify/
https://github.com/google/code-prettify

後方一致と後方不一致で

  • COUNT
  • RAND
  • AVG

の後ろに「(」が来る場合と来ない場合の 正規表現を作れないかと試していますが うまくいきません。

JavaScript ガイド 正規表現
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions

どのようなコードになるのでしょうか?

js

1[PR.PR_KEYWORD, /^(?:COUNT|RAND|AVG)\b/i, null],

「()」のある方がハイライト「()」はハイライトされない

COUNT()
RAND()
AVG()

X COUNT
X RAND
X AVG

「()」のない方がハイライト

X COUNT()
X RAND()
X AVG()

COUNT
RAND
AVG

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

正規表現の部分のみですが、以下のようなものではどうでしょうか。

js

1// 「()」のある方がハイライト 2/^(?:COUNT|RAND|AVG)()/i 3 4// 「()」のない方がハイライト 5/^(?:COUNT|RAND|AVG)(?!())/i 6 7// (参考)「()」があってもなくてもハイライト 8/^(?:COUNT|RAND|AVG)(?:())?/i

正規表現において「(」「)」という文字は特別な意味を持つので「\」を直前に置く必要があります。
「(?!...)」を使えば括弧内にマッチしないものにマッチするようになります。

投稿2018/07/21 16:18

reosablo

総合スコア339

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問