回答編集履歴

4

chousei

2019/09/27 01:35

投稿

yambejp
yambejp

スコア116690

test CHANGED
@@ -90,9 +90,11 @@
90
90
 
91
91
  var txt=x.textContent;
92
92
 
93
- var reg=/(^|[\s。!])#.+?(?=\s|$)/g;
93
+ var reg1=/(^|[\s。!])#.+?(?=\s|$)/g;
94
94
 
95
+ var reg2=/^[\s。!]+/g;
96
+
95
- var arr=(txt.match(reg)||[]).map(x=>x.replace(/^[\s。!]+/g,''));
97
+ var arr=(txt.match(reg1)||[]).map(x=>x.replace(reg2,''));
96
98
 
97
99
  console.log(arr);
98
100
 

3

配列

2019/09/27 01:35

投稿

yambejp
yambejp

スコア116690

test CHANGED
@@ -73,3 +73,55 @@
73
73
  ※「記号」というのは任意で列挙が必要です
74
74
 
75
75
  「[\s。!]」のところに追記してください(\sは空白文字)
76
+
77
+
78
+
79
+ # 配列に受ける
80
+
81
+ ```javascript
82
+
83
+ <script>
84
+
85
+ window.addEventListener('DOMContentLoaded', ()=>{
86
+
87
+ document.querySelector('#btn').addEventListener('click',()=>{
88
+
89
+ [].forEach.call(document.querySelectorAll('.box'),x=>{
90
+
91
+ var txt=x.textContent;
92
+
93
+ var reg=/(^|[\s。!])#.+?(?=\s|$)/g;
94
+
95
+ var arr=(txt.match(reg)||[]).map(x=>x.replace(/^[\s。!]+/g,''));
96
+
97
+ console.log(arr);
98
+
99
+ });
100
+
101
+ });
102
+
103
+ });
104
+
105
+ </script>
106
+
107
+ <textarea type="text" class="box">こんにちは#良い天気ですね。</textarea>
108
+
109
+ <textarea type="text" class="box">こんにちは #良い天気ですね。</textarea>
110
+
111
+ <textarea type="text" class="box">こんにちは #良い天気 ですね。</textarea>
112
+
113
+ <textarea type="text" class="box">こんにちは。#良い天気 ですね。まったく!#その通り です。&#13;#明日 は雨かも。</textarea>
114
+
115
+ <textarea type="text" class="box">#良い天気 ですね。今日のごはんはどうしましょうか。寒いから #鍋?</textarea>
116
+
117
+ <textarea type="text" class="box">#hello world
118
+
119
+ #yes we #can
120
+
121
+ #abc</textarea>
122
+
123
+ <input type="button" id="btn" value="btn">
124
+
125
+
126
+
127
+ ```

2

ちょうせい

2019/09/27 01:32

投稿

yambejp
yambejp

スコア116690

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  var txt=x.textContent;
46
46
 
47
- var reg=/(^|[\s!])(#.+?)(?=\s|$)/g;
47
+ var reg=/(^|[\s!])(#.+?)(?=\s|$)/g;
48
48
 
49
49
  console.log(txt.replace(reg,'$1<span>$2</span>'));
50
50
 
@@ -69,3 +69,7 @@
69
69
  <input type="button" id="btn" value="btn">
70
70
 
71
71
  ```
72
+
73
+ ※「記号」というのは任意で列挙が必要です
74
+
75
+ 「[\s。!]」のところに追記してください(\sは空白文字)

1

調整

2019/09/24 01:09

投稿

yambejp
yambejp

スコア116690

test CHANGED
@@ -25,3 +25,47 @@
25
25
  <button id="btn">clone</button>
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ # 調整
32
+
33
+
34
+
35
+ ```javascript
36
+
37
+ <script>
38
+
39
+ window.addEventListener('DOMContentLoaded', ()=>{
40
+
41
+ document.querySelector('#btn').addEventListener('click',()=>{
42
+
43
+ [].forEach.call(document.querySelectorAll('.box'),x=>{
44
+
45
+ var txt=x.textContent;
46
+
47
+ var reg=/(^|[。\s!])(#.+?)(?=\s|$)/g;
48
+
49
+ console.log(txt.replace(reg,'$1<span>$2</span>'));
50
+
51
+ });
52
+
53
+ });
54
+
55
+ });
56
+
57
+ </script>
58
+
59
+ <textarea type="text" class="box">こんにちは#良い天気ですね。</textarea>
60
+
61
+ <textarea type="text" class="box">こんにちは #良い天気ですね。</textarea>
62
+
63
+ <textarea type="text" class="box">こんにちは #良い天気 ですね。</textarea>
64
+
65
+ <textarea type="text" class="box">こんにちは。#良い天気 ですね。まったく!#その通り です。&#13;#明日 は雨かも。</textarea>
66
+
67
+ <textarea type="text" class="box">#良い天気 ですね。今日のごはんはどうしましょうか。寒いから #鍋?</textarea>
68
+
69
+ <input type="button" id="btn" value="btn">
70
+
71
+ ```