主頁 > 前端設計 > Perl5.34.0用于單詞匹配語言希伯來語的正則運算式

Perl5.34.0用于單詞匹配語言希伯來語的正則運算式

2022-03-28 07:54:09 前端設計

我正在使用 Perl 5.34.0,我想查找輸入是否只是希伯來字母和問號等符號等。即使我找到了一個開銷很大的解決方案,我還是想學習如何去做使用正則運算式更簡單。

這是我沒有正則運算式的解決方案。

首先,我在 Perl 模塊的常量散列中定義了希伯來字符。

#!perl
package  Enums::Nikudletters;

use strict;
use warnings;
use diagnostics;
use experimental 'signatures';
use utf8;
use charnames ();

our $VERSION = 1.0;

# Types
use constant LETTER => "LETTER";
use constant LOWER_PUNKTATION => "LOWER_PUNKTATION";
use constant UPPER_PUNKTATION => "UPPER_PUNKTATION";
use constant MIDDLE_PUNKTATION => "MIDDLE_PUNKTATION";

use constant { 
NIKUDLETTERS => {
AIN => {
    UTF8 => charnames::string_vianame("U 05E2"),
    CODE => " 05E2",
    NAME => "ain",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
ALEF => {
    UTF8 => charnames::string_vianame("U 05D0"),
    CODE => " 05D0",
    NAME => "alef",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
CHET => {
    UTF8 => charnames::string_vianame("U 05D7"),
    CODE => " 05D7",
    NAME => "chet",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
DALET => {
    UTF8 => charnames::string_vianame("U 05D3"),
    CODE => " 05D3",
    NAME => "dalet",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
GIMEL => {
    UTF8 => charnames::string_vianame("U 05D2"),
    CODE => " 05D2",
    NAME => "gimel",
    TYPE => LETTER,
    WIDTH => 11,
    HANDWRITING => 1,
},
GERESCH => {
    UTF8 => charnames::string_vianame("U 05F3"),
    CODE => " 05F3",
    NAME => "geresch",
    TYPE => LETTER,
    WIDTH => 9,
    HANDWRITING => 0,
},
GERSCHAYIM => {
    UTF8 => charnames::string_vianame("U 05F4"),
    CODE => " 05F4",
    NAME => "gerschayim",
    TYPE => LETTER,
    WIDTH => 14,
    HANDWRITING => 0,
},
HAEI => {
    UTF8 => charnames::string_vianame("U 05D4"),
    CODE => " 05D4",
    NAME => "h?i",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
JOD => {
    UTF8 => charnames::string_vianame("U 05D9"),
    CODE => " 05D9",
    NAME => "jod",
    TYPE => LETTER,
    WIDTH => 10,
    HANDWRITING => 1,
},
KUF => {
    UTF8 => charnames::string_vianame("U 05E7"),
    CODE => " 05E7",
    NAME => "kuf",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
LAMED => {
    UTF8 => charnames::string_vianame("U 05DC"),
    CODE => " 05DC",
    NAME => "lamed",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 0,
},
RESCH => {
    UTF8 => charnames::string_vianame("U 05E8"),
    CODE => " 05E8",
    NAME => "resch",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
SSAIN => {
    UTF8 => charnames::string_vianame("U 05D6"),
    CODE => " 05D6",
    NAME => "ssain",
    TYPE => LETTER,
    WIDTH => 9,
    HANDWRITING => 1,
},
SCHIN => {
    UTF8 => charnames::string_vianame("U 05E9"),
    CODE => " 05E9",
    NAME => "schin",
    TYPE => LETTER,
    WIDTH => 19,
    HANDWRITING => 1,
},
SSAMECH => {
    UTF8 => charnames::string_vianame("U 05E1"),
    CODE => " 05E1",
    NAME => "ssamech",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
SPACE => {
    UTF8 => charnames::string_vianame("U 0020"),
    CODE => " 0020",
    NAME => "space",
    TYPE => LETTER,
    WIDTH => 10,
    HANDWRITING => 0,
},
NEWSPACE => {
    UTF8 => charnames::string_vianame("U 00A0"),
    CODE => " 00A0",
    NAME => "newspace",
    TYPE => LETTER,
    WIDTH => 10,
    HANDWRITING => 0,
},
TAW => {
    UTF8 => charnames::string_vianame("U 05EA"),
    CODE => " 05EA",
    NAME => "taw",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
TET => {
    UTF8 => charnames::string_vianame("U 05D8"),
    CODE => " 05D8",
    NAME => "tet",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
BET => {
    UTF8 => charnames::string_vianame("U 05D1"),
    CODE => " 05D1",
    NAME => "bet",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
WAW => {
    UTF8 => charnames::string_vianame("U 05D5"),
    CODE => " 05D5",
    NAME => "waw",
    TYPE => LETTER,
    WIDTH => 9,
    HANDWRITING => 1,
},
ZADI => {
    UTF8 => charnames::string_vianame("U 05E6"),
    CODE => " 05E6",
    NAME => "zadi",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
ZADISSOFIT => {
    UTF8 => charnames::string_vianame("U 05E5"),
    CODE => " 05E5",
    NAME => "zadissofit",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
KAF => {
    UTF8 => charnames::string_vianame("U 05DB"),
    CODE => " 05DB",
    NAME => "kaf",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
CHAFSSOFIT => {
    UTF8 => charnames::string_vianame("U 05DA"),
    CODE => " 05DA",
    NAME => "chafssofit",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
PAEI => {
    UTF8 => charnames::string_vianame("U 05E4"),
    CODE => " 05E4",
    NAME => "p?i",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
FAEISSOFIT => {
    UTF8 => charnames::string_vianame("U 05E3"),
    CODE => " 05E3",
    NAME => "f?issofit",
    TYPE => LETTER,
    WIDTH => 18,
    HANDWRITING => 1,
},
MEM => {
    UTF8 => charnames::string_vianame("U 05DE"),
    CODE => " 05DE",
    NAME => "mem",
    TYPE => LETTER,
    WIDTH => 17,
    HANDWRITING => 1,
},
MEMSSOFIT => {
    UTF8 => charnames::string_vianame("U 05DD"),
    CODE => " 05DD",
    NAME => "memssofit",
    TYPE => LETTER,
    WIDTH => 16,
    HANDWRITING => 1,
},
NUN => {
    UTF8 => charnames::string_vianame("U 05E0"),
    CODE => " 05E0",
    NAME => "nun",,
    TYPE => LETTER,
    WIDTH => 10,
    HANDWRITING => 1,
},
NUNSSOFIT => {
    UTF8 => charnames::string_vianame("U 05DF"),
    CODE => " 05DF",
    NAME => "nunssofit",
    TYPE => LETTER,
    WIDTH => 9,
    HANDWRITING => 1,
},
SHEVA => {
    UTF8 => charnames::string_vianame("U 05B0"),
    CODE => " 05B0",
    NAME => "schwa = e",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
}, 
HATAF_SEGOL=> {
    UTF8 => charnames::string_vianame("U 05B1"),
    CODE => " 05B1",
    NAME => "chataf szegol = e",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
HATAF_PATAH => {
    UTF8 => charnames::string_vianame("U 05B2"),
    CODE => " 05B2",
    NAME => "chataf patach = a",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
HATAF_QAMATS => {
    UTF8 => charnames::string_vianame("U 05B3"),
    CODE => " 05B3",
    NAME => "chataf kamatz = o",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
HIRIQ => {
    UTF8 => charnames::string_vianame("U 05B4"),
    CODE => " 05B4",
    NAME => "chirik = i",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
TSERE => {
    UTF8 => charnames::string_vianame("U 05B5"),
    CODE => " 05B5",
    NAME => "zeré = e",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
SEGOL => {
    UTF8 => charnames::string_vianame("U 05B6"),
    CODE => " 05B6",
    NAME => "szegol = e",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
PATAH => {
    UTF8 => charnames::string_vianame("U 05B7"),
    CODE => " 05B7",
    NAME => "patach = a",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
QAMATS => {
    UTF8 => charnames::string_vianame("U 05B8"),
    CODE => " 05B8",
    NAME => "kamatz = a",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
HOLAM => {
    UTF8 => charnames::string_vianame("U 05B9"),
    CODE => " 05B9",
    NAME => "cholam = o",
    TYPE => UPPER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
HOLAM_HASER => {
    UTF8 => charnames::string_vianame("U 05BA"),
    CODE => " 05BA",
    NAME => "cholam chaser",
    TYPE => UPPER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
QUBUTS => {
    UTF8 => charnames::string_vianame("U 05BB"),
    CODE => " 05BB",
    NAME => "kubutz = u",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
DAGESH => {
    UTF8 => charnames::string_vianame("U 05BC"),
    CODE => " 05BC",
    NAME => "dagesch / schuruk",
    TYPE => MIDDLE_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
}, 
METEG => {
    UTF8 => charnames::string_vianame("U 05BD"),
    CODE => " 05BD",
    NAME => "meteg",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
MAQAF => {
    UTF8 => charnames::string_vianame("U 05BE"),
    CODE => " 05BE",
    NAME => "makaf",
    TYPE => LETTER,
    WIDTH => 14,
    HANDWRITING => 0,
},
RAFE => {
    UTF8 => charnames::string_vianame("U 05BF"),
    CODE => " 05BF",
    NAME => "rafi",
    TYPE => UPPER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
PASEQ => {
    UTF8 => charnames::string_vianame("U 05C0"),
    CODE => " 05C0",
    NAME => "pasek",
    TYPE => LETTER,
    WIDTH => 4,
    HANDWRITING => 0,
},
SHIN_DOT => {
    UTF8 => charnames::string_vianame("U 05C1"),
    CODE => " 05C1",
    NAME => "schin Punkt",
    TYPE => UPPER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
SIN_DOT => {
    UTF8 => charnames::string_vianame("U 05C2"),
    CODE => " 05C2",
    NAME => "ssin Punkt",
    TYPE => UPPER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
}, 
SOF_PASUQ => {
    UTF8 => charnames::string_vianame("U 05C3"),
    CODE => " 05C3",
    NAME => "sof pasuk",
    TYPE => LETTER,
    WIDTH => 8,
    HANDWRITING => 0,
},
UPPER_DOT => {
    UTF8 => charnames::string_vianame("U 05C4"),
    CODE => " 05C4",
    NAME => "oberer Punkt",
    TYPE => UPPER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
LOWER_DOT => {
    UTF8 => charnames::string_vianame("U 05C5"),
    CODE => " 05C5",
    NAME => "unterer Punkt",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
HAFUKAH => {
    UTF8 => charnames::string_vianame("U 05C6"),
    CODE => " 05C6",
    NAME => "chafukach",
    TYPE => LETTER,
    WIDTH => 10,
    HANDWRITING => 0,
},
QAMATS_QATAN => {
    UTF8 => charnames::string_vianame("U 05C7"),
    CODE => " 05C7",
    NAME => "kamatz katan",
    TYPE => LOWER_PUNKTATION,
    WIDTH => 0,
    HANDWRITING => 0,
},
JIDDISH_DOUBLE_WAW => {
    UTF8 => charnames::string_vianame("U 05F0"),
    CODE => " 05F0",
    NAME => "waw waw",
    TYPE => LETTER,
    WIDTH => 19,
    HANDWRITING => 0,
},
JIDDISH_WAW_JOD => {
    UTF8 => charnames::string_vianame("U 05F1"),
    CODE => " 05F1",
    NAME => "waw jod",
    TYPE => LETTER,
    WIDTH => 20,
    HANDWRITING => 0,
},
JIDDISH_DOUBLE_JOD => {
    UTF8 => charnames::string_vianame("U 05F2"),
    CODE => " 05F2",
    NAME => "jod jod",
    TYPE => LETTER,
    WIDTH => 21,
    HANDWRITING => 0,
},
}};


sub get {
    return NIKUDLETTERS;
}

sub get_regular_expression_string
{
    my %letter_hash = %{ Enums::Nikudletters->NIKUDLETTERS };
    my @values_sorted;
    my @keys_sorted = sort { $letter_hash{$a}->{CODE} <=>  $letter_hash{$b}->{CODE} } keys (%letter_hash);
    foreach my $key (@keys_sorted)
    {
        push(@values_sorted, $letter_hash{$key}->{CODE});
    }
    return join('', @values_sorted);
}

1;

我還以同樣的方式定義了一些符號字母:

#!perl
package  Enums::Signletters;

use strict;
use warnings;
use diagnostics;
use experimental 'signatures';
use utf8;
use charnames ();

our $VERSION = 1.0;

use constant SIGNLETTERS => {

# ?
QUESTION_MARK =>
{
    CODE    => " 003F",        
},
# !
EXCLAMATION_MARK =>
    {
        CODE => " 0021",            
    },
# .
FULL_STOP=>
    {
        CODE => " 002E",            
    },
# '
APOSTROPHE =>
    {
        CODE => " 0027",           
    },
# (
LEFT_PARENTHESIS =>
    {
        CODE => " 0028",            
    },
# )
RIGHT_PARENTHESIS =>
    {
        CODE => " 0029",           
    },
# ,
COMMA =>
    {
        CODE => " 002C",            
    },
# -
HYPHEN_MINUS =>
    {
        CODE => " 002D",            
    },
# "
QUOTATION_MARK =>
    {
        CODE => " 0022",           
    },
# §
SECTION_SIGN =>
    {
        CODE => " 00A7",            
    },
# $
DOLLAR_SIGN =>
    {
        CODE => " 0024",            
    },
# €
EURO_SIGN =>
    {
        CODE => " 20AC",            
    },
# %
PERCENT_SIGN =>
    {
        CODE => " 0025",           
    },
    # /
SOLIDUS =>
    {
        CODE => " 002F",            
    },
    #[
LEFT_SQUARE_BRACKET =>
    {
        CODE => " 005B",            
    },
    # ]
RIGHT_SQUARE_BRACKET =>
    {
        CODE => " 005D",            
    },
    # {
LEFT_CURLY_BRACKET =>
    {
        CODE => " 007B",            
    },
#
}
RIGHT_CURLY_BRACKET =>
    {
        CODE => " 007D",           
    },
    # =
EQUALS_SIGN =>
    {
        CODE => " 003D",          
    },
    # \ 
REVERSE_SOLIDUS =>
    {
        CODE => " 005C",            
    },
    # *
ASTERISK =>
    {
        CODE => " 002A",            
    },
     #  
PLUS_SIGN =>
    {
        CODE => " 002B",            
    },
     # #
NUMBER_SIGN =>
    {
        CODE => " 0023",            
    },
     # ;
SEMICOLON =>
    {
        CODE => " 0023",            
    },
     # :
COLON =>
    {
        CODE => " 003A",            
    },
# _
LOW_LINE =>
    {
        CODE => " 005F",           
    },
# °
DEGREE_SIGN =>
    {
        CODE => " 00B0",            
    },
# ^
CIRCUMFLEX_ACCENT =>
    {
        CODE => " 005E",           
    },
# ′
ACUTE_ACCENT =>
    {
        CODE => " 00B4",            
    },
# `
GRAVE_ACCENT =>
    {
        CODE => " 0060",           
    },
# @
COMMERCIAL_AT =>
    {
        CODE => " 0040",            
    },
# μ
MICRO_SIGN =>
    {
        CODE => " 00B5",           
    },
# <
LESS_THAN_SIGN =>
    {
        CODE => " 003C",           
    },
# >
GREATER_THAN_SIGN =>
    {
        CODE => " 003E",            
    },
# |
VERTICAL_LINE =>
    {
        CODE => " 007C",            
    },
# &
AMPERSAND =>
    {
        CODE => " 0026",          
    },
};

sub get_regular_expression_string
{
my %letter_hash = %{ Enums::Signletters->SIGNLETTERS };
my @values_sorted;
my @keys_sorted = sort { $letter_hash{$a}->{CODE} <=>  $letter_hash{$b}->{CODE} } keys (%letter_hash);
foreach my $key (@keys_sorted)
{
    push(@values_sorted, $letter_hash{$key}->{CODE}) unless( $key eq "REVERSE_SOLIDUS");
}
return join('', @values_sorted);
}



1;

然后我可以將代碼加入到我想要的任何運算式字串中。像這樣:

#!perl
package Helpers::UnicodeChecker;

use strict;
use warnings;
use diagnostics;
use experimental 'signatures';
use utf8;

use Enums::Nikudletters;
use Enums::Signletters;

our $VERSION = 1.0;

 sub is_valid_hebrew ($self, $hebrew)
 {
 my $expression = Enums::Nikudletters->get_regular_expression_string();
 my $expression_ascii = Enums::Signletters->get_regular_expression_string();

 my @hebrew_letters = split('', $hebrew);

foreach my $letter (@hebrew_letters)
{
    my $number = unpack("W*", $letter);
    unless( $number > 255)
    {
        my $code_ascii = get_ascii_code($number);
        return "false" unless($expression_ascii =~ $code_ascii);
    }
   else
    {
        my $code = get_wide_code($number);
        return "false" unless($expression =~ $code);
    }
}
return "true";
}

sub get_wide_code
{
return substr( sprintf("\\x{X}", $_[0]) , 3, 4 );
}

sub get_ascii_code
{
return "00".substr( sprintf("\\xX", $_[0]) , 2, 2 );
}

1;

這可行,但涉及很多代碼。有一個簡短的正則運算式來完成相同的任務會很好。誰能提供正則運算式?

我用谷歌搜索了很多,閱讀了很多,嘗試了很多,但我找不到適用于 Perl 5.34.0 的正則運算式,感謝您的幫助。我只是在學習 Perl。

uj5u.com熱心網友回復:

您可以使用相對簡單的模式匹配來執行此操作。

這里有趣的一點是\p{Hebrew},它允許您將每個字符與特定的 Unicode 屬性相匹配。剩下的只是字串的開頭^和結尾$,以及 一個或多個的量詞。

use strict;
use warnings;
use utf8;       # for the Hebrew glyphs in my example input

my $string = qq{???? ????!}; 
print $string =~ m/^[\p{Hebrew}?!.' ] $/;

這將匹配任何希伯來字母、空格和幾個標點符號。除非您想在源代碼中包含實際的希伯來語文本,例如在注釋中,否則您不需要utf8pragma

[]您可以通過您想要的任何其他字符來擴展字符組 (in )。

在我的評論中,我使用repragma,這對于除錯正則運算式很有用。

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/450427.html

標籤:正则表达式 perl

上一篇:Perl代碼使用IO::SELECT和IO::Socket::UNIX無錯誤退出,但使用NETCAT(nc)不退出,為什么?

下一篇:如何檢查命令的退出狀態?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • vue移動端上拉加載

    可能做得過于簡單或者比較low,請各位大佬留情,一起探討技術 ......

    uj5u.com 2020-09-10 04:38:07 more
  • 優美網站首頁,頂部多層導航

    一個個人用的瀏覽器首頁,可以把一下常用的網站放在這里,平常打開會比較方便。 第一步,HTML代碼 <script src=https://www.cnblogs.com/szharf/p/"js/jquery-3.4.1.min.js"></script> <div id="navigate"> <ul> <li class="labels labels_1"> ......

    uj5u.com 2020-09-10 04:38:47 more
  • 頁面為要加<!DOCTYPE html>

    最近因為寫一個js函式,需要用到$(window).height(); 由于手寫demo的時候,過于自信,其實對前端方面的認識也不夠體系,用文本檔案直接敲出來的html代碼,第一行沒有加上<!DOCTYPE html> 導致了$(window).height();的結果直接是整個document的高 ......

    uj5u.com 2020-09-10 04:38:52 more
  • WordPress網站程式手動升級要做好資料備份

    WordPress博客網站程式在進行升級前,必須要做好網站資料的備份,這個問題良家佐言是遇見過的;在剛開始接觸WordPress博客程式的時候,因為升級問題和博客網站的修改的一些嘗試,良家佐言是吃盡了苦頭。因為購買的是西部數碼的空間和域名,每當佐言把自己的WordPress博客網站搞到一塌糊涂的時候 ......

    uj5u.com 2020-09-10 04:39:30 more
  • WordPress程式不能升級為5.4.2版本的原因

    WordPress是一款個人博客系統,受到英文博客愛好者和中文博客愛好者的追捧,并逐步演化成一款內容管理系統軟體;它是使用PHP語言和MySQL資料庫開發的,用戶可以在支持PHP和MySQL資料庫的服務器上使用自己的博客。每一次WordPress程式的更新,就會牽動無數WordPress愛好者的心, ......

    uj5u.com 2020-09-10 04:39:49 more
  • 使用CSS3的偽元素進行首字母下沉和首行改變樣式

    網頁中常見的一種效果,首字改變樣式或者首行改變樣式,效果如下圖。 代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ......

    uj5u.com 2020-09-10 04:40:09 more
  • 關于a標簽的講解

    什么是a標簽? <a> 標簽定義超鏈接,用于從一個頁面鏈接到另一個頁面。 <a> 元素最重要的屬性是 href 屬性,它指定鏈接的目標。 a標簽的語法格式:<a href=https://www.cnblogs.com/summerxbc/p/"指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內容</a> a標簽 在所有瀏覽器中,鏈接的默認外觀如下: 未被訪問的鏈接帶 ......

    uj5u.com 2020-09-10 04:40:11 more
  • 前端輪播圖

    在需要輪播的頁面是引入swiper.min.js和swiper.min.css swiper.min.js地址: 鏈接:https://pan.baidu.com/s/15Uh516YHa4CV3X-RyjEIWw 提取碼:4aks swiper.min.css地址 鏈接:https://pan.b ......

    uj5u.com 2020-09-10 04:40:13 more
  • 如何設定html中的背景圖片(全屏顯示,且不拉伸)

    1 <style>2 body{background-image:url(https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture); 3 background-size:cover;background ......

    uj5u.com 2020-09-10 04:40:16 more
  • Java學習——HTML詳解(上)

    HTML詳解 初識HTML Hyper Text Markup Language(超文本標記語言) 1 <!--DOCTYPE:告訴瀏覽器我們要使用什么規范--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <!--meta 描述性的標簽,描述一些 ......

    uj5u.com 2020-09-10 04:40:33 more
最新发布
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 07:59:23 more
  • 生產事故-走近科學之消失的JWT

    入職多年,面對生產環境,盡管都是小心翼翼,慎之又慎,還是難免捅出簍子。輕則滿頭大汗,面紅耳赤。重則系統停擺,損失資金。每一個生產事故的背后,都是寶貴的經驗和教訓,都是專案成員的血淚史。為了更好地防范和遏制今后的各類事故,特開此專題,長期更新和記錄大大小小的各類事故。有些是親身經歷,有些是經人耳傳口授 ......

    uj5u.com 2023-04-18 07:55:04 more
  • 記錄--Canvas實作打飛字游戲

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 打開游戲界面,看到一個畫面簡潔、卻又富有挑戰性的游戲。螢屏上,有一個白色的矩形框,里面不斷下落著各種單詞,而我需要迅速地輸入這些單詞。如果我輸入的單詞與螢屏上的單詞匹配,那么我就可以獲得得分;如果我輸入的單詞錯誤或者時間過長,那么我就會輸 ......

    uj5u.com 2023-04-04 08:35:30 more
  • 了解 HTTP 看這一篇就夠

    在學習網路之前,了解它的歷史能夠幫助我們明白為何它會發展為如今這個樣子,引發探究網路的興趣。下面的這張圖片就展示了“互聯網”誕生至今的發展歷程。 ......

    uj5u.com 2023-03-16 11:00:15 more
  • 藍牙-低功耗中心設備

    //11.開啟藍牙配接器 openBluetoothAdapter //21.開始搜索藍牙設備 startBluetoothDevicesDiscovery //31.開啟監聽搜索藍牙設備 onBluetoothDeviceFound //30.停止監聽搜索藍牙設備 offBluetoothDevi ......

    uj5u.com 2023-03-15 09:06:45 more
  • canvas畫板(滑鼠和觸摸)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>canves</title> <style> #canvas { cursor:url(../images/pen.png),crosshair; } #canvasdiv{ bo ......

    uj5u.com 2023-02-15 08:56:31 more
  • 手機端H5 實作自定義拍照界面

    手機端 H5 實作自定義拍照界面也可以使用 MediaDevices API 和 <video> 標簽來實作,和在桌面端做法基本一致。 首先,使用 MediaDevices.getUserMedia() 方法獲取攝像頭媒體流,并將其傳遞給 <video> 標簽進行渲染。 接著,使用 HTML 的 < ......

    uj5u.com 2023-01-12 07:58:22 more
  • 記錄--短視頻滑動播放在 H5 下的實作

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 短視頻已經無數不在了,但是主體還是使用 app 來承載的。本文講述 H5 如何實作 app 的視頻滑動體驗。 無聲勝有聲,一圖頂百辯,且看下圖: 網址鏈接(需在微信或者手Q中瀏覽) 從上圖可以看到,我們主要實作的功能也是本文要講解的有: ......

    uj5u.com 2023-01-04 07:29:05 more
  • 一文讀懂 HTTP/1 HTTP/2 HTTP/3

    從 1989 年萬維網(www)誕生,HTTP(HyperText Transfer Protocol)經歷了眾多版本迭代,WebSocket 也在期間萌芽。1991 年 HTTP0.9 被發明。1996 年出現了 HTTP1.0。2015 年 HTTP2 正式發布。2020 年 HTTP3 或能正... ......

    uj5u.com 2022-12-24 06:56:02 more
  • 【HTML基礎篇002】HTML之form表單超詳解

    ??一、form表單是什么

    ??二、form表單的屬性

    ??三、input中的各種Type屬性值

    ??四、標簽 ......

    uj5u.com 2022-12-18 07:17:06 more