精华内容
下载资源
问答
  • [CQOI2014]通配符匹配

    2019-09-26 00:06:41
    常见的通配符有两个,一个是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。 现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些...

    Description
    几乎所有操作系统的命令行界面(CLI)中都支持文件名的通配符匹配以方便用户。最常见的通配符有两个,一个是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。
    现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些文件可以被匹配。

    Input
    第一行是一个由小写字母和上述通配符组成的字符串。
    第二行包含一个整数n,表示文件个数。
    接下来n行,每行为一个仅包含小写字母字符串,表示文件名列表。

    Output
    输出n行,每行为“YES”或“NO”,表示对应文件能否被通配符匹配。

    Sample Input
    *aca?ctc
    6
    acaacatctc
    acatctc
    aacacatctc
    aggggcaacacctc
    aggggcaacatctc
    aggggcaacctct

    Sample Output
    YES
    YES
    YES
    YES
    YES
    NO

    HINT
    对于1 00%的数据
    字符串长度不超过100000
    1 <=n<=100
    通配符个数不超过10


    本题有弱化版[AHOI2005]VIRUS 病毒检测题解

    关于这题有很多解法,例如KMP,Hash啥的……但是既然这题有AC自动机的标签,那么我们肯定要用AC自动机去解决对吧?

    然后冥思苦想没有结果……滚去看题解,然后发现这题AC自动机的做法甚是巧妙

    首先将模板串按'*'分段,每一段建立一个AC自动机,每个AC自动机里面的串按照'?'分成多个串建成一棵trie树

    然后呢?我们考虑一下某个AC自动机的字符'abcd?abc?cd?abcd'

    1214431-20190306204104051-1881612733.png

    然后绿色的是终止节点(多个终止就开个vector),然后我们把其他串拿进来匹配后,每碰到一个绿色点,我们就让\(C[pos-End[p][i]]\)加1,其中pos是当前匹配位置(匹配串),p是AC自动机中位置,End[p]就是vector,这样处理完后,我们再次扫一遍匹配,看一下哪个位置的\(C[i]\)与段数相等,那么它就可以作为这段模板串的匹配起点

    注意匹配的时候匹配串是不需要切成一段段再进去匹配的,你可以每次都整串匹配,但是需要开一个变量记录上一次匹配到的最靠前的位置,然后判断一下即可

    最前面和最后面需要根据'*'的有无进行特判

    匹配串在一个个AC自动机中不一定要匹配连续的一段,因为存在'*'这种高级玩意

    /*program from Wolfycz*/
    #include<cmath>
    #include<cstdio>
    #include<vector>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define inf 0x7f7f7f7f
    #define for_vec(it,x) for (vector<int>::iterator it=x.begin();it!=x.end();it++)
    using namespace std;
    typedef long long ll;
    typedef unsigned int ui;
    typedef unsigned long long ull;
    inline char gc(){
        static char buf[1000000],*p1=buf,*p2=buf;
        return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;
    }
    inline int frd(){
        int x=0,f=1;char ch=gc();
        for (;ch<'0'||ch>'9';ch=gc())   if (ch=='-')    f=-1;
        for (;ch>='0'&&ch<='9';ch=gc()) x=(x<<1)+(x<<3)+ch-'0';
        return x*f;
    }
    inline int read(){
        int x=0,f=1;char ch=getchar();
        for (;ch<'0'||ch>'9';ch=getchar())  if (ch=='-')    f=-1;
        for (;ch>='0'&&ch<='9';ch=getchar())    x=(x<<1)+(x<<3)+ch-'0';
        return x*f;
    }
    inline void print(int x){
        if (x<0)    putchar('-'),x=-x;
        if (x>9)    print(x/10);
        putchar(x%10+'0');
    }
    const int N=1e5;
    int pos[N+10],pos_cnt,lenS;
    bool BGN,END;
    struct S1{
        int trie[N+10][26],fail[N+10];
        int tot,root,num,L;
        vector<int>End[N+10];
        void insert(char *s,int l,int r){
            static char T[N+10];
            for (int i=l;i<r;i++)   T[i-l]=s[i];
            int len=r-l,p=root; T[len++]='?';
            for (int i=0;i<len;i++){
                while (T[i]=='?'&&i<len){
                    if (i&&T[i-1]!='?') End[p].push_back(i-1),num++;
                    p=root,i++;
                }
                if (i>=len) break;
                if (!trie[p][T[i]-'a']) trie[p][T[i]-'a']=++tot;
                p=trie[p][T[i]-'a'];
            }L=--len;
        }
        void make_fail(){
            static int h[N+10];
            int head=1,tail=0;
            for (int i=0;i<26;i++)  if (trie[root][i])  h[++tail]=trie[root][i];
            for (;head<=tail;head++){
                int Now=h[head];
                for_vec(it,End[fail[Now]])  End[Now].push_back(*it);
                for (int i=0;i<26;i++){
                    if (trie[Now][i]){
                        int son=trie[Now][i];
                        fail[son]=trie[fail[Now]][i];
                        h[++tail]=son;
                    }else   trie[Now][i]=trie[fail[Now]][i];
                }
            }
        }
        bool check(char *s,bool Fir,bool Lst){
            static int cnt[N+10];
            memset(cnt,0,sizeof(cnt));
            int len=strlen(s),p=root;
            for (int i=0;i<len;i++){
                p=trie[p][s[i]-'a'];
                for_vec(it,End[p])  if (i>=*it) cnt[i-*it]++;
            }
            for (int i=0;i<len;i++){
                if (cnt[i]!=num)    continue;
                if (!pos_cnt){
                    if (!BGN&&Fir&&i)   break;
                    if (!END&&Lst&&len-i!=L)    break;
                    pos[++pos_cnt]=i+L;
                    return 1;
                }else{
                    if (i<pos[pos_cnt]) continue;
                    if (!END&&Lst&&len-i!=L)    break;
                    pos[++pos_cnt]=i+L;
                    return 1;
                }
            }
            return 0;
        }
    }AC[10];//Aho-Corasick automaton
    char s[N+10];
    int main(){
        scanf("%s",s);
        int len=strlen(s),tot=0; lenS=len;
        BGN=s[0]=='*',END=s[len-1]=='*',s[len++]='*';
        for (int i=0,Last=0;i<len;i++){
            if (s[i]=='*'){
                if (i>Last) AC[tot++].insert(s,Last,i);
                Last=i+1;
            }
        }
        for (int i=0;i<tot;i++) AC[i].make_fail();
        for (int Q=read();Q;Q--){
            if (!len){
                printf("NO\n");
                continue;
            }
            if (!tot){
                printf("YES\n");
                continue;
            }
            memset(s,0,sizeof(s));
            memset(pos,0,sizeof(pos)); pos_cnt=0;
            scanf("%s",s);
            bool flag=1;
            for (int i=0;i<tot;i++){
                if (!AC[i].check(s,i==0,i==tot-1)){
                    flag=0;
                    break;
                }
            }
            printf(flag?"YES\n":"NO\n");
        }
        return 0;
    }

    转载于:https://www.cnblogs.com/Wolfycz/p/10486018.html

    展开全文
  • 常见的通配符有两个,一个 是星号(“*”),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。 现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些...

    Description

    几乎所有操作系统的命令行界面(CLI)中都支持文件名的通配符匹配以方便用户。最常见的通配符有两个,一个
    是星号(“*”),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。
    现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些文件可以被匹配。

    Input

    第一行是一个由小写字母和上述通配符组成的字符串。
    第二行包含一个整数n,表示文件个数。
    接下来n行,每行为一个仅包含小写字母字符串,表示文件名列表。

    Output

    输出n行,每行为“YES”或“NO”,表示对应文件能否被通配符匹配。

    Sample Input

    *aca?ctc
    6
    acaacatctc
    acatctc
    aacacatctc
    aggggcaacacctc
    aggggcaacatctc
    aggggcaacctct

    Sample Output

    YES
    YES
    YES
    YES
    YES
    NO

    HINT

    对于1 00%的数据
    字符串长度不超过1 00000
    1 <=n<=100
    通配符个数不超过10

    题解

    题目有一个很重要的东西,
    就是通配符不超过10个。

    先考虑一种很显然的方法,
    fi,j表示一个串匹配到i,另外一个串匹配到j,是否合法。
    只要判断的时候将?当做所以字符,* 特殊处理一下就可以了。

    但是这个时间复杂度是不可以接受的,
    就对状态稍微改一下:
    fi,j表示一个串匹配到第i个通配符,匹配到j,是否合法。
    就按照通配符就原串分为几个部分,然后逐一匹配。
    用hash来判断两个字符串是否相等。

    code

    #pragma GCC optimize(2)
    #pragma G++ optimize(2)
    #include<queue>
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include <cstring>
    #include <string.h>
    #include <cmath>
    #include <math.h>
    #define ll long long
    #define ull unsigned long long
    #define N 100003
    #define M 102
    #define db double
    #define P putchar
    #define G getchar
    #define mo 13890604
    #define zm 19260817
    using namespace std;
    char ch;
    void read(int &n)
    {
        n=0;
        ch=G();
        while((ch<'0' || ch>'9') && ch!='-')ch=G();
        ll w=1;
        if(ch=='-')w=-1,ch=G();
        while('0'<=ch && ch<='9')n=(n<<3)+(n<<1)+ch-'0',ch=G();
        n*=w;
    }
    
    db max(db a,db b){return a>b?a:b;}
    db min(db a,db b){return a<b?a:b;}
    ll abs(ll x){return x<0?-x:x;}
    ll sqr(ll x){return x*x;}
    void write(ll x){if(x>9) write(x/10);P(x%10+'0');}
    
    char s[N],t[N];
    int len,n,pos[13],cnt;
    ull s1[N],s2[N],p[N];
    bool f[13][N];
    
    ull get1(int x,int y)
    {
        return x>y?0:s1[y]-s1[x-1]*p[y-x+1];
    }
    
    ull get2(int x,int y)
    {
        return x>y?0:s2[y]-s2[x-1]*p[y-x+1];
    }
    
    int main()
    {
        p[0]=1;
        for(int i=1;i<N;i++)
            p[i]=p[i-1]*zm;
    
        scanf("%s",s+1);
        len=strlen(s+1);
    
        for(int i=1;i<=len;i++)
        {
            if(s[i]<'a' || s[i]>'z')pos[++cnt]=i;
            s1[i]=s1[i-1]*zm+s[i];
        }
        s[pos[++cnt]=++len]='?';
    
        read(n);
        while(n--)
        {
            scanf("%s",t+1);
            len=strlen(t+1);
            t[++len]='!';
            for(int i=1;i<=len;i++)
                s2[i]=s2[i-1]*zm+t[i];
    
            memset(f,0,sizeof(f));
            f[0][0]=1;
            for(int i=0;i<cnt;i++)
            {
                if(s[pos[i]]=='*')
                {
                    for(int j=1;j<=len;j++)
                        if(f[i][j-1])f[i][j]=1;
                }
                for(int j=0;j<=len;j++)
                    if(f[i][j] && get1(pos[i]+1,pos[i+1]-1)==get2(j+1,j+pos[i+1]-pos[i]-1))
                    {
                        if(s[pos[i+1]]=='?')f[i+1][j+pos[i+1]-pos[i]]=1;
                            else f[i+1][j+pos[i+1]-pos[i]-1]=1;
                    }
            }
            if(f[cnt][len])P('Y'),P('E'),P('S');
                else P('N'),P('O');
            P('\n');
        }
    }
    展开全文
  • 常见的通配符有两个,一个是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些...

    Description

    几乎所有操作系统的命令行界面(CLI)中都支持文件名的通配符匹配以方便用户。最常见的通配符有两个,一个
    是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。
    现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些文件可以被匹配。

    Input

    第一行是一个由小写字母和上述通配符组成的字符串。
    第二行包含一个整数n,表示文件个数。
    接下来n行,每行为一个仅包含小写字母字符串,表示文件名列表。

    Output

    输出n行,每行为“YES”或“NO”,表示对应文件能否被通配符匹配。

    Sample Input

    *aca?ctc
    6
    acaacatctc
    acatctc
    aacacatctc
    aggggcaacacctc
    aggggcaacatctc
    aggggcaacctct

    Sample Output

    YES
    YES
    YES
    YES
    YES
    NO

    HINT

    对于1 00%的数据

      ·字符串长度不超过1 00000

      ·1 <=n<=100

      ·通配符个数不超过10

    dp一下,设$f_{i,j}$表示匹配到第$i$个通配符,第$j$个字符是否可行

    分*和?来递推

    有一个小姿势,就是在原串和匹配串后面都加一个?,好像挺有用的..

    mdzz hash天天被卡..

     

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cstdlib>
     4 #include <algorithm>
     5 #define LL long long
     6 using namespace std;
     7 const LL Maxn = 100010;
     8 const LL Mod = 1e9+7;
     9 bool f[15][Maxn];
    10 char s[Maxn], st[Maxn]; LL len, stl;
    11 LL ps[Maxn], pst[Maxn], cf[Maxn];
    12 LL hash ( LL *a, LL x, LL y ){
    13     return (a[y]-(a[x-1]*cf[y-x+1])%Mod+Mod)%Mod;
    14 }
    15 LL pos[15], pl, n;
    16 int main (){
    17     LL i, j, k;
    18     scanf ( "%s", s+1 );
    19     len = strlen (s+1);
    20     cf[1] = 26;
    21     for ( i = 2; i <= 100000; i ++ ) cf[i] = (cf[i-1]*26)%Mod;
    22     for ( i = 1; i <= len; i ++ ){
    23         if ( s[i] >= 'a' && s[i] <= 'z' ) ps[i] = ((ps[i-1]*26)%Mod+s[i]-'a')%Mod;
    24         else {
    25             ps[i] = (ps[i-1]*26)%Mod;
    26             pos[++pl] = i;
    27         }
    28     }
    29     ps[++len] = '?';
    30     pos[++pl] = len;
    31     scanf ( "%lld", &n );
    32     while ( n -- ){
    33         scanf ( "%s", st+1 );
    34         stl = strlen (st+1);
    35         for ( i = 1; i <= stl; i ++ ) pst[i] = ((pst[i-1]*26)%Mod+st[i]-'a')%Mod;
    36         st[++stl] = '?';
    37         memset ( f, false, sizeof (f) );
    38         f[0][0] = true;
    39         for ( i = 1; i <= pl; i ++ ){
    40             if ( s[pos[i]] == '*' ){
    41                 for ( j = 1; j <= stl; j ++ ){
    42                     if ( j-(pos[i]-pos[i-1]) < 0 ) continue;
    43                     if ( f[i-1][j-(pos[i]-pos[i-1])] == true ){
    44                         if ( pos[i] == pos[i-1]+1 ) break;
    45                         else if ( hash ( ps, pos[i-1]+1, pos[i]-1 ) == hash ( pst, j-(pos[i]-pos[i-1])+1, j-1 ) ) break;
    46                     }
    47                 }
    48                 for ( j = j-1; j <= stl; j ++ ) f[i][j] = true;
    49             }
    50             else {
    51                 for ( j = 1; j <= stl; j ++ ){
    52                     if ( j-(pos[i]-pos[i-1]) < 0 ) continue;
    53                     if ( f[i-1][j-(pos[i]-pos[i-1])] == true ){
    54                         if ( pos[i] == pos[i-1]+1 ) f[i][j] = true;
    55                         else if ( hash ( ps, pos[i-1]+1, pos[i]-1 ) == hash ( pst, j-(pos[i]-pos[i-1])+1, j-1 ) ) f[i][j] = true;
    56                     }
    57                 }
    58             }
    59         }
    60         if ( f[pl][stl] == true ) printf ( "YES\n" );
    61         else printf ( "NO\n" ); 
    62     }
    63     return 0;
    64 }
    View Code

     

    转载于:https://www.cnblogs.com/darklove/p/6022440.html

    展开全文
  • 常见的通配符有两个,一个 是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。 现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些...

    Time Limit: 10 Sec
    Memory Limit: 128 MB

    Description

    几乎所有操作系统的命令行界面(CLI)中都支持文件名的通配符匹配以方便用户。最常见的通配符有两个,一个
    是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。
    现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些文件可以被匹配。

    Input

    第一行是一个由小写字母和上述通配符组成的字符串。
    第二行包含一个整数n,表示文件个数。
    接下来n行,每行为一个仅包含小写字母字符串,表示文件名列表。

    Output

    输出n行,每行为“YES”或“NO”,表示对应文件能否被通配符匹配。
    Sample Input

    *aca?ctc
    6
    acaacatctc
    acatctc
    aacacatctc
    aggggcaacacctc
    aggggcaacatctc
    aggggcaacctct
    

    Sample Output

    YES
    YES
    YES
    YES
    YES
    NO
    

    HINT

    对于100%的数据
    字符串长度不超过100000100000
    1&lt;=n&lt;=1001 &lt;=n&lt;=100
    通配符个数不超过1010

    题解:
    DP
    p[i]p[i]表示第ii个通配符的位置
    f[i][j]f[i][j]表示拥有第ii个通配符可否和前jj个字符匹配。
    如果第ii个通配符是’*’,那么更新就是

    for(int i=1;i<=len;i++)if(f[i][j-1]==1)f[i][j]=1;
    

    如果第i个通配符是’?’,那么更新就是
    (如果f[i][j]==1并且s[j+1]s[j+1]后面顺延iii+1i+1之间的距离的字符和第iii+1i+1个通配符之间的字符刚刚好相同)

    if(rs[p[i+1]]=='?'){
           f[i+1][j+(p[i+1]-1)-(p[i]+1)+1+1]=1;
    }
    else{
           f[i+1][j+(p[i+1]-1)-(p[i]+1)+1]=1;
    }
    

    f[i][j]f[i][j]来更新其所能影响到的区间。
    判断子串相同可以用哈希,但是有取模会TLE,所以我用的自然溢出
    最后答案为f[cnt][l]f[cnt][l]的真假性

    #include<bits/stdc++.h>
    #define LiangJiaJun main
    #define MOD 19991227
    #define ll long long
    #define uint unsigned int
    using namespace std;
    char s[100004],rs[100004];
    int p[14],cnt;
    uint hs[100004],hsa[100004],poo[100004];
    int f[14][100004];
    
    bool check(int L1,int R1,int L2,int R2){
         int N1,N2;
         if(R1>=L1)N1=(hs[R1]-((hs[L1-1]*poo[R1-L1+1])));
         else N1=-1;
         if(R2>=L2)N2=(hsa[R2]-((hsa[L2-1]*poo[R2-L2+1])));
         else N2=-1;
         return (N1==N2);
    }
    int n;
    int w33ha(){
        memset(f,0,sizeof(f));
        cnt=0;
        scanf("%d",&n);
        hsa[0]=0;
        int lrs=strlen(rs+1);
        for(int i=1;i<=lrs;i++){
            if(rs[i]=='*'||rs[i]=='?'){
                p[++cnt]=i;
            }
        }
        p[++cnt]=lrs+1;
        rs[++lrs]='?';
        for(int i=1;i<=lrs;i++){
            int now;
            if('a'<=rs[i]&&rs[i]<='z')now=rs[i]-'a';
            if(rs[i]=='*')now=26;
            if(rs[i]=='?')now=27;
            hsa[i]=(hsa[i-1]*28+now);
        }
        for(int CASE=1;CASE<=n;CASE++){
            scanf("%s",s+1);
            int l=strlen(s+1);
            for(int i=0;i<=cnt;i++)
                for(int j=0;j<=l+1;j++)
                    f[i][j]=0;
            hs[0]=0;
            for(int i=1;i<=l;i++){
                int now;
                if('a'<=s[i]&&s[i]<='z')now=s[i]-'a';
                if(s[i]=='*')now=26;
                if(s[i]=='?')now=27;
                hs[i]=(hs[i-1]*28+now);
            }
            s[++l]='_';
            f[0][0]=1;
            for(int i=0;i<cnt;i++){
                if(rs[p[i]]=='*'){
                    for(int j=1;j<=l;j++)if(f[i][j-1])f[i][j]=1;
                }
                for(int j=0;j<=l;j++){
                    if(!f[i][j])continue;
                    if(check(j+1,j+(p[i+1]-1)-(p[i]+1)+1,p[i]+1,p[i+1]-1)){
                        if(rs[p[i+1]]=='?'){
                            f[i+1][j+(p[i+1]-1)-(p[i]+1)+1+1]=1;
                        }
                        else{
                            f[i+1][j+(p[i+1]-1)-(p[i]+1)+1]=1;
                        }
                    }
                }
            }
            if(f[cnt][l])puts("YES");
            else puts("NO");
        }
        return 0;
    }
    int LiangJiaJun(){
        poo[0]=1;
        for(int i=1;i<=100000;i++)poo[i]=(poo[i-1]*28);
        while(scanf("%s",rs+1)!=EOF)w33ha();
        return 0;
    }
    
    
    展开全文
  • 常见的通配符有两个,一个 是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。 现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些...
  • 常见的通配符有两个,一个 是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。 现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些...
  • 常见的通配符有两个,一个是星号(*),可以匹配000个及以上的任意字符:另一个是问号(?),可以匹配恰好一个任意字符。现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些文件可以被...
  • Java考试常见知识点

    2019-10-04 23:23:49
    接口/lambda/内部类接口特性lambda方法引用构建器引用内部类异常分类RuntimeException有哪些try-finallytry-resource泛型泛型的通配符多线程与死锁线程的状态有哪些?线程被终止有原因有?线程死锁 数据类型 ...
  • css常见面试题

    2021-03-23 13:35:47
    1.CSS选择器有哪些? id选择器(#id) 类选择器(.classname) 标签选择器(div,p,span) 后代选择器(div p 表示选择div元素下后代元素p) 子代选择器(div > p 表示选择div元素下子代元素p) 兄弟...
  • 介绍一下常用的通配符?84. 包装类的常量池技术有了解过吗?85. 在 Java 中定义一个不做事且没有参数的构造方法的作用?86. 成员变量与局部变量的区别有哪些?87. 构造方法作用?有哪些特性?88. 在调用子类构造方法...
  • 不同编译器给出不同结果, 有的为 3, 有的为 4, 哪个是正确? o 4.4 这是个巧妙表达式: a ^= b ^= a ^= b 它不需要临时变量就可以交换 a 和 b 值。 o 4.5 我可否用括号来强制执行我所需要计算顺序? o ...
  • Linux入门笔记(3)

    2020-09-30 11:00:27
    一、环境准备 1.开启CentOS7虚拟机,以root用户登录 回顾: 1.Linux中命令的执行依赖于解释器,默认的解释器是哪个程序? /bin/bash 2.如何结束当前正在运行的命令,...5.常见的通配符有哪些?不用写作用 ? [] {
  • 常见路由操作有哪些? Vue Router是什么 Vue Router 是 Vue.js 官方路由管理器。它和 Vue.js 核心深度集成,让构建单页面应用变得易如反掌。包含功能有: 嵌套路由/视图表 模块化、基于组件路由配置 ...
  • 浏览器有哪些常见的兼容问题? 不同浏览器的内外补丁不同 解决方法:通配符 2.浮动元素float,若有横向margin,则在IE6显示下margin会变大 解决方法:在float元素标签样式中写display:inline 3.若元素的宽...
  • [Q]Oracle有哪些常见关键字,不能被用于对象名 17 [Q]怎么查看数据库版本 18 [Q]怎么查看数据库参数 18 [Q]怎么样查看数据库字符集 19 [Q]怎么样修改字符集 19 [Q]怎样建立基于函数索引 19 [Q]怎么样移动表或表分区 ...
  • 6.2.1 带横切逻辑实例 6.2.2 JDK动态代理 6.2.3 CGLib动态代理 6.2.4 AOP联盟 6.2.5 代理知识小结 6.3 创建增强类 6.3.1 增强类型 6.3.2 前置增强 6.3.3 后置增强 6.3.4 环绕增强 6.3.5 异常抛出增强 6.3.6 引介...
  • 6.2.1 带横切逻辑实例 6.2.2 JDK动态代理 6.2.3 CGLib动态代理 6.2.4 AOP联盟 6.2.5 代理知识小结 6.3 创建增强类 6.3.1 增强类型 6.3.2 前置增强 6.3.3 后置增强 6.3.4 环绕增强 6.3.5 异常抛出增强 6.3.6 引介...
  • 1.3 常见的数据库对象 3 1.3.1 表与记录 4 1.3.2 主键与外键 4 1.3.3 索引 4 1.3.4 约束 5 1.3.5 视图 5 1.3.6 关系图 5 1.3.7 默认值 5 1.3.8 规则 5 1.3.9 存储过程 6 1.3.10 触发器 6 1.3.11 用户和...
  • 1.3 常见的数据库对象 3 1.3.1 表与记录 4 1.3.2 主键与外键 4 1.3.3 索引 4 1.3.4 约束 5 1.3.5 视图 5 1.3.6 关系图 5 1.3.7 默认值 5 1.3.8 规则 5 1.3.9 存储过程 6 1.3.10 触发器 6 1.3.11 用户和...
  • 任务43: 编写带界面Helloworld程序 任务44: 变量使用 任务45: 运算符使用 任务46: 系统函数使用 任务47: 分支语句1 任务48: 分支语句2 任务49: 实战用户登录验证 任务50: Excel抓取网页数据之搭建...
  • Oracle事例

    2007-08-26 10:35:53
    数据库必须可以互访,必须各各自别名数据库 18、查看数据库链路 select * from all_db_links; select * from user_db_links; 查询 select * from TABLENAME@DBLNKNAME; 创建远程数据库同义词 create ...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    51 <br>3.3 常见算法实际应用 52 <br>0067 计算1+22+33+44+……+nn值 52 <br>0068 计算10!值 52 <br>0069 求最大公约数 52 <br>0070 求最小公倍数 53 <br>0071 判断素数算法...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

常见的通配符有哪些