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

質問編集履歴

3

誤字の修正

2017/04/18 09:57

投稿

litteone
litteone

スコア10

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  **テスト1{=test1-string1.test2-string2}-終わり**
4
4
  上記のような文字列があった場合に
5
- 括弧内の-にのみマッチするような正規表現を考えております。
5
+ 括弧内の-にのみマッチするような正規表現を考えております。
6
6
  現在以下の通りに正規表現を組んでおりますが、
7
7
  ```
8
8
  ([^}]*\{=[^.}]*\.[^}]*)(-)([^}]*\})

2

実装の追加

2017/04/18 09:57

投稿

litteone
litteone

スコア10

title CHANGED
File without changes
body CHANGED
@@ -13,5 +13,15 @@
13
13
  やりたいことは以下の通りです。
14
14
  **テスト1{=test1\-string1.test2\-string2}-終わり**
15
15
 
16
+ 実装はこちらです。
17
+ ```java
18
+ String regex = "([^}]*\\{=[^.}]*\\.[^}]*)(-)([^}]*\\})";
19
+ Pattern p = Pattern.compile(regex);
20
+ Matcher m = p.matcher(string);
21
+ while(m.find()) {
22
+ string = m.replaceAll("$1\\\\-$3");
23
+ }
24
+ ```
25
+
16
26
  {}内の-にマッチするような正規表現がわかる方がいらしましたら、
17
27
  ご教示いただけないでしょうか。

1

期待結果の追加

2017/04/18 07:32

投稿

litteone
litteone

スコア10

title CHANGED
File without changes
body CHANGED
@@ -8,7 +8,10 @@
8
8
  ([^}]*\{=[^.}]*\.[^}]*)(-)([^}]*\})
9
9
  ```
10
10
  .以降のみの-にのみマッチしてしまいます。
11
- **テスト1{=test1-string1.test2-string2}-終わり**
11
+ **テスト1{=test1-string1.test2\-string2}-終わり**
12
12
 
13
+ やりたいことは以下の通りです。
14
+ **テスト1{=test1\-string1.test2\-string2}-終わり**
15
+
13
16
  {}内の-にマッチするような正規表現がわかる方がいらしましたら、
14
17
  ご教示いただけないでしょうか。