質問編集履歴
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,13 @@
|
|
8
8
|
|
9
9
|
という否定的な正規表現を実現したいです。
|
10
10
|
|
11
|
+
|
12
|
+
|
11
|
-
|
13
|
+
そしてその正規表現によって
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
「https://www.example.com/【widget以外】/【iframe以外】/」を`➀に一致`としたいです。
|
12
18
|
|
13
19
|
|
14
20
|
|
@@ -46,11 +52,11 @@
|
|
46
52
|
|
47
53
|
if ( preg_match( '{\Ahttps?://(www.)?example.com/(?!.*(/|widget)).*/(?!.*(/|iframe)).*}', $url ) ) {
|
48
54
|
|
49
|
-
echo '➀
|
55
|
+
echo '➀に一致';
|
50
56
|
|
51
57
|
} elseif ( preg_match( '{\Ahttps?://(www.)?example.com/widget/iframe/??[^/]+feed=/(?P<name>[^/]+)/(?P<id>[^/]+)}', $url ) ) {
|
52
58
|
|
53
|
-
echo '➁
|
59
|
+
echo '➁に一致';
|
54
60
|
|
55
61
|
} else {
|
56
62
|
|
1
試したことに追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,12 +60,14 @@
|
|
60
60
|
|
61
61
|
```
|
62
62
|
|
63
|
+
また、上記は「含まない」という表記ではないかと考えまして「一致しない」の意味をもつと思われる`^(文字列)`でも試みたのですが、こちらもうまくいきません。
|
64
|
+
|
63
|
-
|
65
|
+
```php
|
66
|
+
|
67
|
+
if ( preg_match( '{\Ahttps?://(www.)?example.com/^(/|widget).+/^(/|iframe).+}', $url ) ) {
|
64
68
|
|
65
69
|
|
66
70
|
|
67
|
-
「`https://www.example.com/widget/iframe/`というパターンではない」
|
68
71
|
|
69
72
|
|
70
|
-
|
71
|
-
|
73
|
+
```
|