php
1<?php
2
3$pattern = '/\A(.+).?\1\z/u';
4
5$array = [
6 "abcabc",
7 "can@can",
8 "dna dna",
9 "some-some",
10 "あいうあい",
11 "nine7a@a7nine",
12 "ABC abc",
13 "hello9hellow",
14 "can@can\n",
15];
16
17$results = array_map(function ($subject) use ($pattern) {
18 return preg_match($pattern, $subject);
19}, array_combine($array, $array));
20
21echo json_encode($results, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
22
23/*
24{
25 "abcabc": 1,
26 "can@can": 1,
27 "dna dna": 1,
28 "some-some": 1,
29 "あいうあい": 1,
30 "nine7a@a7nine": 0, ← これはさすがに通りません
31 "ABC abc": 0,
32 "hello9hellow": 0,
33 "can@can\n": 0 ← \A \z の代わりに ^ $ を使うとこれが通ってしまうので注意
34}
35*/