Sub assign_values()
Const BLOCK_SZ As Long = 50
Dim rng, c, tot
Set rng = Range("O2").Resize(BLOCK_SZ, 1) '<< first block of 50 rows
'keep going while there's content in Col K (you may need to adjust
' where you check for content)
Do While Application.CountA(rng.Offset(0, -4)) > 0
For Each c In rng.Cells
c.Value = IIf(c.Offset(0, -4).Value > 0, 1, 0) 'based on ColK
Next c
tot = Application.Sum(rng) '<< only need this once, then keep count
For Each c In rng.Cells
If tot < 64 Then
c.Value = c.Value + 1
tot = tot + 1
Else
Exit For
End If
Next c
Set rng = rng.Offset(BLOCK_SZ, 0) '<< next block of cells
Loop
End Sub
Я думаю, что вы должны предоставить свое собственное определение того, что является символом слова, вместо того, чтобы полагаться на границы слов по умолчанию ICE ([[:<:]]
, [[:>:]]
). Из документации mysql 5.6 :
Слово - это последовательность символов слова, которой не предшествуют или не следуют символы слова. Символ слова - это буквенно-цифровой символ в классе alnum или знак подчеркивания (
blockquote>_
).Это будет означать:
'^|[^[:alnum:]_]'
^ -- the beginning of the string | -- OR [^ -- any character OTHER than [:alnum:] -- an alphanumeric character _ -- an underscore ]
И конец строки ICE будет:
'[^[:alnum:]_]|, где
$
представляет конец строки.Вы можете просто изменить это, чтобы добавить одинарную кавычку в класс символов, например:
- начало:
'^|[^[:alnum:]_'']'
- конец:
[1147 ]'[^[:alnum:]_'']|
Вот ваше регулярное выражение:
SELECT (val REGEXP CONCAT('(^|[^[:alnum:]_''])', 'cat''s', '([^[:alnum:]_'']|$)'));
Схема (MySQL v5.6) [1133 ]
Запрос № 1
Select ('cat''s' REGEXP CONCAT('(^|[^[:alnum:]_''])', 'cat''s', '([^[:alnum:]_'']|$)')) res;
| res | | --- | | 1 |<час>Запрос № 2
Select ('''cat''s' REGEXP CONCAT('(^|[^[:alnum:]_''])', '''cat''s', '([^[:alnum:]_'']|$)' )) res;
| res | | --- | | 1 |< hr>Запрос № 3
Select ('_cat''s' REGEXP CONCAT('(^|[^[:alnum:]_''])', '_cat''s' , '([^[:alnum:]_'']|$)' )) res;
| res | | --- | | 1 |<час>Запрос № 4
Select ('-cat''s' REGEXP CONCAT('(^|[^[:alnum:]_''])', '-cat''s' , '([^[:alnum:]_'']|$)' )) res;
| res | | --- | | 1 |<час>Запрос № 5
Select (' cat''s' REGEXP CONCAT('(^|[^[:alnum:]_''])', ' cat''s' , '([^[:alnum:]_'']|$)' )) res;
| res | | --- | | 1 |<час>Запрос № 6
Select ('cat''' REGEXP CONCAT('(^|[^[:alnum:]_''])', 'cat''' , '([^[:alnum:]_'']|$)' )) res;
| res | | --- | | 1 |<час> [1147 ]Вот ваше регулярное выражение:
[111]Схема (MySQL v5.6) [1133 ]
Запрос № 1
[112] [113] <час>Запрос № 2
[114] [115] < hr>Запрос № 3
[116] [117] <час>Запрос № 4
[118] [119] <час>Запрос № 5
[1110] [1111] <час>Запрос № 6
[1112] [1113] <час>, где$
представляет конец строки.Вы можете просто изменить это, чтобы добавить одинарную кавычку в класс символов, например:
- начало:
'^|[^[:alnum:]_'']'
- конец:
[1147 ]'[^[:alnum:]_'']|
Вот ваше регулярное выражение:
[111]Схема (MySQL v5.6) [1133 ]
Запрос № 1
[112] [113] <час>Запрос № 2
[114] [115] < hr>Запрос № 3
[116] [117] <час>Запрос № 4
[118] [119] <час>Запрос № 5
[1110] [1111] <час>Запрос № 6
[1112] [1113] <час> [1147 ]Вот ваше регулярное выражение:
[111]Схема (MySQL v5.6) [1133 ]
Запрос № 1
[112] [113] <час>Запрос № 2
[114] [115] < hr>Запрос № 3
[116] [117] <час>Запрос № 4
[118] [119] <час>Запрос № 5
[1110] [1111] <час>Запрос № 6
[1112] [1113] <час>