teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

条件の追加

2020/06/30 21:29

投稿

Heidi
Heidi

スコア61

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,7 @@
3
3
  入力チェックを正規表現で行っています。
4
4
  入力チェックは、半角英数字記号をOKとしますが、1文字だけ除外したいです。
5
5
  除外したい1文字は記号の `|` (パイプ) になります。
6
+ `|` (パイプ)の位置は、先頭、途中、最後尾どこにあっても除外したいです。
6
7
 
7
8
  ```
8
9
  ■OKとしたいパターン例

2

パターン例を追加しました。

2020/06/30 21:29

投稿

Heidi
Heidi

スコア61

title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,14 @@
4
4
  入力チェックは、半角英数字記号をOKとしますが、1文字だけ除外したいです。
5
5
  除外したい1文字は記号の `|` (パイプ) になります。
6
6
 
7
+ ```
8
+ ■OKとしたいパターン例
9
+ ABCDEF123+*=-()
10
+
11
+ ■NGとしたいパターン例
12
+ ABCDEF123+*=-()|
13
+ ```
14
+
7
15
  正規表現が得意ではないので、ご教示いただけますと幸いです。
8
16
 
9
17
 

1

中途半端な状態で投稿しており、最後まで補完しました。

2020/06/30 21:17

投稿

Heidi
Heidi

スコア61

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,15 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 掲題どおりになりますが、
3
+ 入力チェックを正規表現で行っています
4
- 正規表現で半角英数字記号の条件から1文字除外したいです。
4
+ 入力チェックは、半角英数字記号をOKとしますが、1文字だけ除外したいです。
5
5
  除外したい1文字は記号の `|` (パイプ) になります。
6
6
 
7
+ 正規表現が得意ではないので、ご教示いただけますと幸いです。
7
8
 
9
+
8
10
  ### 該当のソースコード
9
11
 
10
- 半角英数字記号の正規表現以下のように記述しています。
12
+ 半角英数字記号の正規表現以下のように記述しています。
11
13
 
12
14
  ```
13
15
  /^[!-~\s]+$/
@@ -15,7 +17,8 @@
15
17
 
16
18
  ### 試したこと
17
19
 
20
+ 以下の記述だと、`|` (パイプ)が文字列に含まれている場合は条件にマッチしますが、
18
- この記述だと除外はできましたが、1文字(例えば `A` のみ)だと
21
+ 1文字(例えば `A` のみ)だとマッチしませんでした。
19
22
  ```
20
23
  /^[!-~\s][^|]+$/
21
24
  ```